-
Notifications
You must be signed in to change notification settings - Fork 8
/
Changes
143 lines (97 loc) · 4.88 KB
/
Changes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
# 0.004007
- Use the `--no-prefix` option for calls to `git diff` so that git-autofixup works regardless the configured values of the relatively new diff.srcPrefix and diff.dstPrefix variables, added in Git 2.45.0, as well as the older diff.noPrefix and diff.mnemonicPrefix.
- Stop using `FATAL => 'all'` with `use warnings`. While it can be useful to fatalize warnings during development and in tests, we don't want git-autofixup to refuse to run over a warning.
- Check that test files `use strict` and `use warnings`.
# 0.004006
- Add core perl modules as dependencies, mostly so App::Git::Autofixup is
easier to install via cpan when Test::More isn't installed. Perl
installations don't always include all the core modules.
- Fix tempdir cleanup in tests
# 0.004005
- Fix --help: pod2usage() wasn't being called correctly
# 0.004004
- Skip capture() tests on Windows.
- Skip fork-point test on older git versions where merge-base doesn't have
fork-point mode
# 0.004003
Add missing files to package manifest.
# 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