Commit | Line | Data |
---|---|---|
98e06ded JH |
1 | Git 2.22.1 Release Notes |
2 | ======================== | |
3 | ||
4 | Fixes since v2.22 | |
5 | ----------------- | |
6 | ||
7 | * A relative pathname given to "git init --template=<path> <repo>" | |
8 | ought to be relative to the directory "git init" gets invoked in, | |
9 | but it instead was made relative to the repository, which has been | |
10 | corrected. | |
11 | ||
12 | * "git worktree add" used to fail when another worktree connected to | |
13 | the same repository was corrupt, which has been corrected. | |
14 | ||
15 | * The ownership rule for the file descriptor to fast-import remote | |
16 | backend was mixed up, leading to unrelated file descriptor getting | |
17 | closed, which has been fixed. | |
18 | ||
19 | * "git update-server-info" used to leave stale packfiles in its | |
20 | output, which has been corrected. | |
21 | ||
22 | * The server side support for "git fetch" used to show incorrect | |
23 | value for the HEAD symbolic ref when the namespace feature is in | |
24 | use, which has been corrected. | |
25 | ||
26 | * "git am -i --resolved" segfaulted after trying to see a commit as | |
27 | if it were a tree, which has been corrected. | |
28 | ||
29 | * "git bundle verify" needs to see if prerequisite objects exist in | |
30 | the receiving repository, but the command did not check if we are | |
31 | in a repository upfront, which has been corrected. | |
32 | ||
33 | * "git merge --squash" is designed to update the working tree and the | |
34 | index without creating the commit, and this cannot be countermanded | |
35 | by adding the "--commit" option; the command now refuses to work | |
36 | when both options are given. | |
37 | ||
38 | * The data collected by fsmonitor was not properly written back to | |
39 | the on-disk index file, breaking t7519 tests occasionally, which | |
40 | has been corrected. | |
41 | ||
42 | * Update to Unicode 12.1 width table. | |
43 | ||
44 | * The command line to invoke a "git cat-file" command from inside | |
45 | "git p4" was not properly quoted to protect a caret and running a | |
46 | broken command on Windows, which has been corrected. | |
47 | ||
48 | * "git request-pull" learned to warn when the ref we ask them to pull | |
49 | from in the local repository and in the published repository are | |
50 | different. | |
51 | ||
52 | * When creating a partial clone, the object filtering criteria is | |
53 | recorded for the origin of the clone, but this incorrectly used a | |
54 | hardcoded name "origin" to name that remote; it has been corrected | |
55 | to honor the "--origin <name>" option. | |
56 | ||
57 | * "git fetch" into a lazy clone forgot to fetch base objects that are | |
58 | necessary to complete delta in a thin packfile, which has been | |
59 | corrected. | |
60 | ||
61 | * The filter_data used in the list-objects-filter (which manages a | |
62 | lazily sparse clone repository) did not use the dynamic array API | |
63 | correctly---'nr' is supposed to point at one past the last element | |
64 | of the array in use. This has been corrected. | |
65 | ||
66 | * The description about slashes in gitignore patterns (used to | |
67 | indicate things like "anchored to this level only" and "only | |
68 | matches directories") has been revamped. | |
69 | ||
70 | * The URL decoding code has been updated to avoid going past the end | |
71 | of the string while parsing %-<hex>-<hex> sequence. | |
72 | ||
73 | * The list of for-each like macros used by clang-format has been | |
74 | updated. | |
75 | ||
1feeaaf2 JH |
76 | * "git push --atomic" that goes over the transport-helper (namely, |
77 | the smart http transport) failed to prevent refs to be pushed when | |
78 | it can locally tell that one of the ref update will fail without | |
79 | having to consult the other end, which has been corrected. | |
80 | ||
81 | * "git clean" silently skipped a path when it cannot lstat() it; now | |
82 | it gives a warning. | |
83 | ||
84 | * A codepath that reads from GPG for signed object verification read | |
85 | past the end of allocated buffer, which has been fixed. | |
86 | ||
87 | * "git rm" to resolve a conflicted path leaked an internal message | |
88 | "needs merge" before actually removing the path, which was | |
89 | confusing. This has been corrected. | |
90 | ||
91 | * The "git clone" documentation refers to command line options in its | |
92 | description in the short form; they have been replaced with long | |
93 | forms to make them more recognisable. | |
94 | ||
95 | * The configuration variable rebase.rescheduleFailedExec should be | |
96 | effective only while running an interactive rebase and should not | |
4d8ec15c | 97 | affect anything when running a non-interactive one, which was not |
1feeaaf2 JH |
98 | the case. This has been corrected. |
99 | ||
100 | * "git submodule foreach" did not protect command line options passed | |
101 | to the command to be run in each submodule correctly, when the | |
102 | "--recursive" option was in use. | |
103 | ||
104 | * Use "Erase in Line" CSI sequence that is already used in the editor | |
105 | support to clear cruft in the progress output. | |
106 | ||
107 | * The codepath to compute delta islands used to spew progress output | |
108 | without giving the callers any way to squelch it, which has been | |
109 | fixed. | |
110 | ||
111 | * The code to parse scaled numbers out of configuration files has | |
112 | been made more robust and also easier to follow. | |
113 | ||
114 | * An incorrect list of options was cached after command line | |
115 | completion failed (e.g. trying to complete a command that requires | |
116 | a repository outside one), which has been corrected. | |
117 | ||
118 | * "git rebase --abort" used to leave refs/rewritten/ when concluding | |
119 | "git rebase -r", which has been corrected. | |
120 | ||
121 | * "git stash show 23" used to work, but no more after getting | |
122 | rewritten in C; this regression has been corrected. | |
123 | ||
124 | * "git interpret-trailers" always treated '#' as the comment | |
125 | character, regardless of core.commentChar setting, which has been | |
126 | corrected. | |
127 | ||
128 | * Code clean-up to avoid signed integer overlaps during binary search. | |
129 | ||
130 | * "git checkout -p" needs to selectively apply a patch in reverse, | |
131 | which did not work well. | |
132 | ||
133 | * The commit-graph file is now part of the "files that the runtime | |
134 | may keep open file descriptors on, all of which would need to be | |
135 | closed when done with the object store", and the file descriptor to | |
136 | an existing commit-graph file now is closed before "gc" finalizes a | |
137 | new instance to replace it. | |
138 | ||
139 | * Code restructuring during 2.20 period broke fetching tags via | |
140 | "import" based transports. | |
141 | ||
142 | * We have been trying out a few language features outside c89; the | |
143 | coding guidelines document did not talk about them and instead had | |
144 | a blanket ban against them. | |
145 | ||
75b2f01a JH |
146 | * The internal diff machinery can be made to read out of bounds while |
147 | looking for --funcion-context line in a corner case, which has been | |
148 | corrected. | |
1feeaaf2 JH |
149 | |
150 | Also contains various documentation updates, code clean-ups and minor fixups. |