This useful for the regtests -- with the extra -d flag, we will
only change the \version string if the actual contents of the file
has changed. This lets us see which tests were modified, and
which tests were unchanged since the previous stable release.
However, the version string will still be updated to match the
last stable release.
action='store_true',
dest='force_current_version',
default=False)
action='store_true',
dest='force_current_version',
default=False)
+
+ p.add_option ('-d', '--diff-version-update',
+ help=_ ("only update \\version number if file is modified"),
+ action='store_true',
+ dest='diff_version_update',
+ default=False)
p.add_option ("-s", '--show-rules',
help=_ ("show rules [default: -f 0, -t %s]") % program_version,
p.add_option ("-s", '--show-rules',
help=_ ("show rules [default: -f 0, -t %s]") % program_version,
if global_options.force_current_version and last == to_version:
last = str_to_tuple (program_version)
if global_options.force_current_version and last == to_version:
last = str_to_tuple (program_version)
+ if global_options.diff_version_update:
+ if result == input:
+ # check the y in x.y.z (minor version number)
+ if last[0:2] != from_version[0:2]:
+ # previous stable version
+ last = (last[0], 2*(last[1]/2), 0)
+ else:
+ # make no (actual) change to the version number
+ last = from_version
+
newversion = r'\version "%s"' % tup_to_str (last)
if lilypond_version_re.search (result):
result = re.sub (lilypond_version_re_str,
newversion = r'\version "%s"' % tup_to_str (last)
if lilypond_version_re.search (result):
result = re.sub (lilypond_version_re_str,