- if global_options.force_current_version and last == to_version:
- last = str_to_tuple (program_version)
+ if global_options.diff_version_update:
+ # Note that last_change can be set even if the result is
+ # the same if two conversion rules cancelled out
+ if result == input:
+ # make no (actual) change to the version number
+ last = org_version or from_version
+ else:
+ last = last_change
+ # If the last update was to an unstable version
+ # number, and the final update target is no longer in
+ # the same unstable series, we update to the stable
+ # series following the unstable version.
+ if last[1]%2: # unstable
+ next_stable = (last[0], last[1]+1, 0)
+ if next_stable <= to_version:
+ last = next_stable