Stacked Git 1.0
The 1.0 release has been over a decade in the making. While light on new
features, this release represents a major upgrade in StGit's foundation.
Internally, StGit now maintains all metadata in Git objects. This
enables novel workflows involving StGit stacks to be pushed and pulled
from remote repositories using git push and git pull.
And StGit has been fully migrated to Python 3. Dropping compatibility
with Python 2 has allowed StGit's code to become simpler and avoid
error-prone compatibility code. Python 3.5 is the new minimum required
version.
Removed
- Drop support for Python < 3.5
- Remove previously deprecated
stg publishcommand - Removed contrib scripts:
stg-swallow,stg-fold-files-from,
stg-dispatch,stg-whatchanged, andstg-show-old
Added
- The pre-commit hook is now run for
stg refresh - New
--spilloption forstg refresh - Add stgit.series.description config option (#88)
- Official support for Python versions up to 3.9
Changed
- Stack metadata format 4. All metadata now kept in Git objects; no more
stack state files in .git/patches. A one-way auto-upgrade to format
version 4 will occur when StGit commands are run on an existing StGit
branch. - Use
python3in shebangs instead ofpython contrib/stgbashprompt.shis no longer executable- Internal docstrings now use reStructuredText instead of Epytext
Fixed
- Importing large patches is much, much faster (#66)
- Other performance improvements when dealing with large patches
- Repair diffstat when outside work tree root (#62)
- Use encoded (string) environment variables on Windows (#79)
- Fix
stg pullwhen no upstream is configured (#83) - Fix
refreshcrash with path limiting and files added to index (#85) - Repair
newwith patchdescr.template crash (#87) - Repair
logfrom worktree subdir with patches specified - Repair
importallowing/generating duplicate patch names (#64) - Repair
mail --autoto strip comments after addrs (#91)