2013-09-30: StGit 0.17.1 released
- Fix dirty index errors when resolving conflicts
- Test suite improvements
- Print tracebacks to stderr
- Run test suite in parallel
- Fix –authdate date parsing
2013-06-27: StGit 0.17 released
- Make refresh warn when the index is dirty
- Template updates to not hardcode whitespace
- Properly generate mbox formats when attaching patches
- Added new option to attach and inline patches when sending mail
- Various bugfixes and tiny improvements
2012-01-09: StGit 0.16 released
- Several improvements to the Emacs mode (stgit.el).
- UI adjustments to better match the Git commands.
- stg status is an alias for git status.
- stg reset –hard behaves similarly to the corresponding git command and
option.
- stg branch –cleanup option to remove the StGit metadata for a given
branch.
- stg mail can use git send-email directly.
- Vim syntax highlighting for StGit commit messages.
- Many bug-fixes.
2009-10-24: StGit 0.15 released
- New core infrastructure for repository operations, including infinite
undo/redo operations and automatic rollback of changes following a failed
operation (using transactions)
- Some commands were added, including stg squash (for combining two or more
patches into one), stg publish (for maintaining merge-friendly branches
which are never rebased) and stg prev/next (for printing the name of the
previous or next patch in the series)
- The commands stg add, stg rm, stg cp, and stg resolved were removed,
since there are corresponding Git equivalents
- The stg import and stg fold commands support the -p N option for
stripping leading slashes from diff paths
- The stg import and stg fold commands support the –reject option for
leaving rejected hunks in corresponding *.rej files
- New patch identification syntax: <branch>:<patch> (see documentation
for the stg id command)
- Autosigning of imported patches when sign.autosign configuration option is
set
- A powerful Emacs mode for StGit was added to the contrib directory. It
displays the patch stack in an Emacs buffer, and can handle all common StGit
tasks
- Improved bash tab-completion, automatically generated from the stg command
definitions
- Man pages and an improved tutorial
2009-04-10: StGit repository moved to repo.or.cz
- The StGit repository was moved to git://repo.or.cz/stgit.git. The previous
HTTP-based Git repository is no longer updated and it will be removed in the
future. To update the cloned trees, run git remote rm origin; git remote add
origin git://repo.or.cz/stgit.git
2008-06-08: StGit 0.14.3 released
- This is a maintenance release including bug-fixes for the refresh command,
handling of file names with non-ASCII characters and user interface
enhancements for export and sync
2008-03-24: StGit 0.14.2 released
- This is a maintenance release including bug-fixes and a few user interface
enhancements
2007-12-12: StGit 0.14.1 released
- Fixed typo in the required version of Python
2007-12-10: StGit 0.14 released
- Support for correctly running StGit in subdirectories
- repair command for fixing an StGit repository modified by Git commands such as commit, pull, merge or rebase
- edit command for editing both the patch description and diff
- Support for SMTP over TLS
- Support for MIME multipart e-mail templates
- –attach option to the mail command to send a patch attached rather than inline
- Diff statistics and shortlog added to the cover e-mail template
- –sign/ack options to the import and new commands
- –number to the log command for limiting the output
- Support for binary files in patches
- Support for detached HEAD
- Refactoring of some modules with better support for debugging
- Many bug-fixes
2007-07-26: StGit 0.13 released
- Documentation directory with man pages
- Safety checks for the rebase command
- Various contrib scripts
- cp command to copy files
- sink command to complement float
- –diff-opts option to some commands for passing additional arguments to
git-diff-
- stgit.mail.prefix configuration option for the default mail –prefix
value
- Interractive 2-way merging via xxdiff or emacs (previously, only 3-way
merging had this feature)
- Slightly changed behaviour to the patches command when no argument is given
to show the patches touching the locally modified files
- Correct importing of multipart e-mails
- –unrelated option to mail to send patches unthreaded and without
sequence numbering
- –update option to refresh to only check in the files already modified by
the current patch (similar to pick –update)
- –keep option to goto (though it only works for patch popping)
- –expose option to pick to append the picked commit id to the log
(similar to the git cherry-pick -x command)
- The new command can automatically generate the patch name from the given
log
- uncommit can generate patches up to a given commit id
- Bug fixes
2007-02-23: StGit 0.12.1 released
- Allow StGit to run when there is no user information configured
- Use git-pull rather than git-fetch by default
- Fix the mail command to parse multiple-lines address headers
- Fix the alias check in the stg mail –bcc command
- Add –merged option to rebase
- Add –url option to import to import a file directly from the network
- Add –author option to series
2007-02-06: StGit 0.12 released
- New rebase command to change the base of an StGit stack
- New hide and unhide commands to act on the patches in a series.
Additional options were added to series for displaying the hidden patches
- New sync command to synchronise same patches in different branches
- New assimilate command to transform Git (accidental) commits at the top of
the stack in StGit patches
- Re-worked pulling logic to use the branch information stored in the
.git/config file
- Abbreviation for StGit commands
- Correct encoding of the e-mail headers and body
- Support for importing multipart e-mails and mbox files
- Configuration read from the Git config files rather than stgitrc
- Patch ranges can be specified for export
- –missing option for series to list the patches on a branch which are
missing in current
- StGit bash completion script
- Bug fixes
2006-10-21: StGit 0.11 released
- New float command to bring a range patches to the top of the stack. This
command can also take a series file as a parameter, allowing easy reordering
of the patches
- Patch history support, accessible through the log [–graphical] command
- Use the .. syntax for patch ranges instead of :
- –keep option for pop to preserve the local changes (useful to add the
modifications to a different patch)
- –graphical option for series to invoke gitk instead of listing the
patches
- Automatically generate patch names for the import, pick and uncommit
commands
- –noreply option for mail to not send messages as replies to the first
one. This is useful for mailing lists filtering replies with a different
subject
- –interactive option for resolved to invoke a graphical 3-way merge tool
(xxdiff or emacs)
- –sign and –ack options for refresh to sign off or acknowledge a patch
- Diff colouring pager script added to the contrib directory
- Configurable low-level pull command (i.e. git-pull)
- –auto option for mail to automatically cc the patch signers
- Debian package support files
- Bug fixes
2006-06-11:StGit 0.10 released
- Handle branch names with slashes
- Testsuite framework
- Configurable file extensions for merge conflicts
- goto command, equivalent to pop –to or push –to
- –update option for pick to only fold the changes to files already in the
current patch
- –replace option for import to replace existing patches in the series
- Look for templates in ~/.stgit/templates as well
- Allow multiple patch names on the push command line
- Classify commands in stg –help output
- Bug fixes
2006-04-07: StGit 0.9 released
- Faster three-way merge by using git-read-tree –aggressive and dealing with
conflicts internally (gitmergeonefile.py removed)
- StGit repositories are now git prune-safe
- show command for displaying a given patch
- uncommit command for reversing the effects of commit
- –series option added to the import command
- –merged option added to the push and pull commands to check for
patches merged upstream
- –undo option added to refresh
- Patch refreshing can be done for individual files only
- –stdout option added to export
- –mbox option added to mail
- smtpdelay configuration option for delays between messages sending
- $PAGER or the pager configuration option used for the show and diff
commands
- –force option removed from the new command
- Bug fixes
2006-01-22: StGit 0.8.1 released
- Fix the removal vs. change merging conflict
- clone command fixed
- status –reset <file> command fixed
- typos corrected
2005-12-23: StGit 0.8 released
- branch command for the Git branches manipulation: creation, deletion,
switching, renaming, cloning (including the StGit patches)
- patches command to show the StGit patches modifying a file
- Better visualisation of the StGit patches and branches (a short description
can be displayed)
- –fold option for the pick command to allow folding a given commit onto
an existing patch
- Automatic invocation of the editor for the cover message when sending a
series by e-mail
- StGit informs when a patch was modified during a push or pick operation (i.e.
a three-way merge was needed)
- StGit now complies with the recommended format for the author information in
the patch description (both for sending and receiving)
- Further optimisations
- Bug fixes
2005-10-15: StGit 0.7.1 released
- push command optimisation - git-apply will be tried first, falling back to
a three-way merge if it does not succeed
- escape punctuation in the parsed e-mail addresses to avoid problems when
passing the environment to the Git commands
2005-10-02: StGit 0.7 released
- Uses the renamed Git commands (requires Git ≥ 0.99.7)
- pick command to cherry-pick a commit object as an StGit patch using a
three-way merge. It also allows reverse-applying
- commit command to permanently store the applied patches into the repository
- push can now fast-forward the patches if the base tree object has not
changed
- The configuration file supports the editor field
- –version option for the mail command to generate the e-mail subject in
the form [PATCH version nr/total]
- –showpatch option for refresh to show the patch content when editing the
patch description
- –branch option for several commands to work on a given branch instead of
the current one without switching
- the pull command was updated to follow the git pull API
- –base option for import to import a diff file on a different base and
perform a three-way merge with the HEAD afterwards
- Support for the .gitignore file
- Several other optimisations
- Bug fixes
2005-08-21: StGit 0.6 released
- StGit can now be installed in other directory than /usr (the default prefix
is now $HOME). The /etc/stgitrc file is no longer installed since the
defaults are hard-coded in StGit
- clone command implemented
- fold command implemented. This command integrates a GNU diff patch into the
current patch. It can also do a three-way merge
- –edit option for import. This option allows one to modify the patch
description during the import operation
- The %(number)s variable added to the e-mail templates which expands to
number/total if total > 1 or empty if total is 1
- The README file is almost empty since the documentation moved to the web
- Bug fixes
2005-07-30: StGit 0.5 released
- Improved help for commands
- mail command to automatically e-mail a range of patches. The e-mail format
is fully configurable via templates
- import command to import a GNU diff patch. The patch file can be a standard
e-mail message or a normal file with the patch description at the top
- pull command to automatically advance the base of the stack and merge the
changes into the applied patches
- clean command to delete the empty patches in a series
- rename command to change the name of a patch
- –range option for the export command
- –force option for the new command to create a patch even if there are
local changes in the tree
- Default templates for the export and mail commands (installed in
/usr/share/stgit/templates/)
- Bug fixes
2005-07-10: StGit repository available (see the Download section below)
2005-07-09: StGit 0.4 released
- Support for configuration files (/etc/stgitrc, ~/.stgitrc, .git/stgitrc)
- Configurable merge tool (diff3 by default)
- Empty patches are marked with a 0 when listed with series (useful for
tracking upstream merges)
- Support for patch description templates (with variables like author details
and diffstats)
- files command to show the files modified by a patch (either a simple list
or with diffstats)
- push –undo option to cancel a push operation
- push/pop –to option to perform the operation on a range of patches between
the given names
- push –reverse option to push patches in reverse order
- diff –stat option to show the diffstats instead of the diff
- Faster pop - it now switches directly to the bottom of the last patch to be
popped
- The three files involved in a three-way merge are left in the working tree in
case of a conflict for further analysis (can be overwritten with the
keeporig option)
- Many bug fixes
2005-06-28: StGit 0.3 released
- closer to the Quilt functionality
- there is only one commit object per patch which can be indefinitely modified
using the refresh command. The commit objects are stacked on top of the
base and can also be accessed via standard Git commands
- no commit command. Use refresh instead
2005-06-22: StGit daily snapshots are available (see the Download section below)
2005-06-20: StGit 0.2 released
- Multiple heads are supported. Each head has its own series (needs separate
stg init commands for each head). To change between series, simply change
the .git/HEAD link
- top/bottom files for each patch are backed up as a safety measure
- stg push warns when the patch is empty (i.e. it was already merged
upstream)
- Many bug fixes. The tool is now usable
2005-06-16: StGit 0.1 released