Rewrite timezone handling to support tzinfo zones, not fixed offsets #2
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
--tzand--move-zoneoptions, and in the AuthorMap file.--tznow doesn’t just affect the log display, it changes the interpretation of the local timestamps in SCCS deltas. Without--tz, deltas are treated as in the system default timezone, or as specified by the TZ environment variable. In all cases, there is proper handling of daylight/summer time, which was previously lacking.--move-zonehas changed from--move-offset. It is now a new timezone name or offset, not an hour offset from the previous zone.--move-zone.This improved timezone handling doesn’t require any third-party modules, but ZoneInfo does require a fairly recent version of Python, 3.9, released in 2020. Everything should be golden on modern Posix-compatible systems, but Windows and some containers may lack a proper tzinfo backend, requiring additional modules.
For Windows specifically, depending on the local zone fallback will not properly handle daylight/summer time, but this can be mitigated by always specifying a tzinfo zone name with the
--tzoption. This could be improved by using the third-party tzlocal module, but I didn’t do this to avoid a third-party dependency.