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 ofb'...' reprof diff.stg diff --rangedetects some invalid values (e.g.-r ..).stg diffno longer shows binary diffs by default. Use-O--binaryor add--binarytostgit.diff-optsinconfig.- 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).