Thanks again to Peter Grayson, a new StGit release is available.
Features:
- stg patches -dcan now output colored diffs.
- stg publish --overwriteallows branch to be overwritten instead of creating new commits.
- stg log --cleardeletes the stack’s log history. Use with caution.
- Fish shell completions for stg.
- Zsh completions for stg.
- Branch protection metadata now captured in configinstead of.git/patches/protect file. This updates StGit’s metadata format from v2 to v3.
- stg mail --domainoption overrides the host’s domain in the message ID.
Bug fixes:
- stg showdetects conflicting- --appliedand- --unappliedoptions.
- stg show --statnow shows commit headers.
- stg patches --diffnow shows proper diff instead of- b'...' reprof diff.
- stg diff --rangedetects some invalid values (e.g.- -r ..).
- stg diffno longer shows binary diffs by default. Use- -O--binaryor add- --binaryto- stgit.diff-optsin- config.
- Date parsing is now more portable, only use platform specific date as last
parsing option. Affects, e.g., stg refresh --authdate.
- Repaired search path for templates to avoid looking in Python site-packages directory.
- Ensure stdoutandstderrare flushed. Rarely affectedstg diff.
- stg repairwill now fail if extra command line arguments are provided.
- Bash completions are now generated in a reproducible manner.
- stg edit --diffon an empty patch no longer crashes.
- Diagnostic output is now routed to stderrinstead ofstdout. Diagnostic output is also now sent tostderrunconditionally, i.e. no moreisatty()test (#35).
- stg pickno longer fails when picked commit has empty message (#39).
- stg rebaseno longer crashes when there are conflicts (#34).
- stg pickno longer crashes if- --nameis not provided when picking a regular commit object.
Code quality:
- Converted to “new” lib infrastructure: show,patches,diff,pick,pull,rebase, andfold.
- Improved test coverage for: branch,diff,pick,sync,
- New tests for: files,patches,fold,series
- Portable use of iconv,sort, andsedin tests.
- Linting using flake8andisort.
- All Python code now conforms to PEP-8.
- Updated test infrastructure from git 2.20.
- Parallel tests with coverage (make -j4coverage) now works.
- Documentation build is not included in code coverage.
- Repaired log end messages when using STGIT_SUBPROCESS_LOG=debug.
- Renamed “dunder” instance attributes to improve debugging.
- Fail faster when patch name has slash (‘/’) (#24).