Changes:
commit 8fe07fa4cef52c194e27b1ae764e2647c3f674f2
Handle refresh of changed files with non-ASCII names
Without -z, git diff-files was quoting them for us.
commit adb61608fb1611570bbb53ddd0b7551e90e3fbdd
Test for another filename quoting issue in tree_status()
stgit.git.tree_status() had another filename quoting issue,
similar to the one just fixed. Test for that one too.
commit fb9b3c0243657a2cf520e5bd5ccfe4aab94799c8
Handle changed files with non-ASCII names
Git was quoting them for us, which was not what we wanted. So call
diff-index with the -z flag, so that it doesn't.
commit 82863c3c5b26c743d1c0c288d354dd78557a914c
Add rebase test for when upstream has deleted a non-ASCII file
Test that stg rebase can handle upstream deleting a file with a
non-ASCII name. It currently can't.
Bug spotted by Jakub Narebski <jnareb@gmail.com>.
commit 466bfe50d7930bca950ca2b3436f1278a6b15af5
Fix "refresh" failure with moved files (bug 11661)
This patch fixes the git.tree_status() function to not pass
missing files to the git-diff-files command which crashes in weird
ways (see the bug report on gna.org).
commit 340793d1f7dc889720ceef3271ca58187474d110
Allow export to write unapplied files as well
This was an artificial limit which upset many people (including me).
commit 61fb81b963c1adb0abb08239c24fa4ee39c5929a
Fix the sync'ing of unapplied patches only
When only unapplied patches are to be sync'ed, the command failed
because the first patch was trying to be pushed twice.
- assume that Python 2.4 and 2.5 are compatible and allow checking for
fallout.
- remove PYTHON_VERSIONS_COMPATIBLE that are obsoleted by the 2.3+
default. Modify the others to deal with the removals.
fix: stg mail crashes when there is no patch description
Better "stg rebase" help text
Enhance rebase help string by providing guidance on merge conflict
resolution during a rebase.
Based on text suggested by Catalin Marinas.
Test the 'stg rename' command
Simple rename of top-most patch
Allow renaming of the top-most patch just by calling stg rename
<new-patch-name>, instead of stg rename <old> <new>. This is for
example helpful for those people who always have a typo or two in
their patch names.
Make documentation less confusing
It's not just by default "stg new" doesn't do a refresh -- it never
does.
replace "git repo-config" usage by "git config"
Remove a newline from the e-mail template
Allow picking of one commit id
Remove the reordering side-effect of the latter sync changes
Fix sync to push the popped patches back after sync'ing
Add a boundary to parse_patches in pick.py
Refuse to send empty patches
Set umask to 0022 during the setup.py execution
This allows template files to be installed with the proper rights.
Modify 'series' to use '#' instead of '|'
Allow the synchronisation of the unapplied patches
Check for unnecessary push/pop in 'float'
Allow pick to import multiple patches
This patch allows multiple patches on the "pick" command line.
Don't set the default authdate if none specified
This way, we allow a patch editing to remove an existing date by not
specifying it.
Mostly fixes, including:
Fix "stg branch --delete" on a nonexistent branch
Convert "stg edit" to the new infrastructure
Parse the date instead of treating it as an opaque string
0.14.1 release (which I found to have some annoying bugs/quirks myself,
anyway).
The ChangeLog is extensive, so check it out for a full list--some important
changes follow below. While here, install the provided contrib helper
scripts. The bash dependency is OK, as git depends on it anyway.
In that spirit, add a dependency on devel/stgit-base, as this is useless
without it. Also, install examples in share/examples/stgit as per
convention.
Refactor --diff-opts handling
Lots of commands take a -O/--diff-opts flag, and they all handle it
identically. So break that out into a library function.
Don't keep old committer when rewriting a commit
replace "git repo-config" usage by "git config"
This is necessary since "git repo-config" will be removed soon.
Fix "stg edit --sign"
It worked in 0.14, but was broken some time after the release.
Make "stg goto" subdirectory safe
This is not specific to "stg goto" -- it affects all commands that
use the new infrastructure. (But of those, only goto and coalesce
were subdirectory unsafe.)
Make "stg commit" fancier
Allow the user to commit any patch. Changed behavior: with no
parameters, commit one applied patch, not all applied patches --
this is what uncommit does.
Changes:
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
* Interactive 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
StGIT is a Python application providing similar functionality to Quilt
(i.e. pushing/popping patches to/from a stack) on top of GIT. These
operations are performed using GIT commands and the patches are stored
as GIT commit objects, allowing easy merging of the StGIT patches into
other repositories using standard GIT functionality.
Note that StGIT is not an SCM interface on top of GIT and it expects a
previously initialised GIT repository (unless it is cloned using StGIT
directly). For standard SCM operations, either use plain GIT commands
or the Cogito tool but it is not recommended to mix them with the
StGIT commands.