# 0.004002
Fix minor issues so git-autofixup works with Git for Windows:
- close index temp file so git can write to it. (Windows has different file
locking behaviour than *nix.)
- load Pod::Usage at runtime since Git for Windows doesn't include it and has
special handling for `git <cmd> --help` such that it wouldn't get used anyway
unless git-autofixup was invoked directly.
Fix some test failures:
- skip tests when perl is for Cygwin but git is for MSYS
- skip testing backslashes on Windows (Cygwin|MSYS)
- fallback to --set-upstream for old git versions where --set-upstream-to isn't
available
# 0.004001
- Fix test plans so Test::More::plan() doesn't get called twice when git isn't
available.
# 0.004000
- Automatically choose an upstream revision if one isn't supplied, based on the
upstream/tracking branch. Thanks to Walter Smuts and Johannes Altmanninger
for their help in figuring out the details.
- Support quoted filenames in diff output. git-autofixup now works with
filenames containing non-ASCII characters.
- Improve error messages and handling. For git commands that are expected to
fail, their stderr is captured, annotated with the command, and printed, to
clarify the cause of errors.
- Deprecate --gitopt|-g in favor of using the GIT_CONFIG_{COUNT,KEY,VALUE}
environment variables.
# 0.003002
- Speed up creation of temporary git index by copying the existing one and
subtracting recent changes
- Speed up `git-blame` by only considering commits since the given revision
- Handle filenames (in git diff output) that contain spaces
- Suppress Git warning about implicit default branch
Many thanks to Johannes Altmanninger for his continued work; he implemented or
contributed to all the important changes in this release.
# 0.003001
- Fix bug where the index would be left out-of-sync with `HEAD` after
autofixing unstaged hunks due to a temporary index being used. If you're
running v0.003000 and hit this, `git restore --staged` can be used to read
the new `HEAD`'s tree into the index. Thanks to Johannes Altmanninger for
finding and fixing this.
# 0.003000
The most important change to the interface is that now, if there are any hunks
staged in the index, only those hunks will be considered for assigning to fixup
commits. A temporary git index is used to make any created fixup commits, so
any staged hunks that don't get assigned will remain staged. Thanks to Jonas
Bernoulli and Max Odnoletkov for their help with this.
- Add --gitopt to allow working around git settings issues
- Add --exit-code option, which gives more granular status about what subset of
hunks were assigned to commits
Bug fixes:
- Fix diff commands so that the diff.noprefix, diff.mnemonicPrefix, and
diff.external settings don't result in us getting unexpected input. Thanks to
Paolo Giarrusso and Ryan Campbell for help with this.
- Fix bug where multiple hunks assigned to the same commit would result in
copies of the same fixup commit, resulting in "patch does not apply" errors.
Thanks to Johannes Altmanninger for identifying and fixing this.
# 0.002007
- Fix hunk parsing for files with multiple hunks (broken in 0.002006)
- Create fixup commits in a consistent order
# 0.002006
- Improve docs for the --strict option
- Fix hunk parsing for files without a newline at EOF
# 0.002005
- Fix running from repo subdirectories
- Fix docs for invoking as "git autofixup"
# 0.002004
- Fix angle brackets in POD
# 0.002003
- Check git version when running tests
# 0.002002
- Fix tests when git user.name and email aren't configured.
# 0.002001
- Make compatible with perl 5.8.4. Previously 5.8.9 was required.
# 0.002000
- Better descriptions of hunk handling now printed to stdout.
- Use --strict=1 behaviour as a fallback when --strict=0.
- Fix blamed line number and left side output for runs of added lines
# 0.001002
- Make compatible with perl5.8
- --help now shows the manpage