Git fork
1Git 2.51.1 Release Notes
2========================
3
4There shouldn't be anything exciting to see here. This is primarily
5to flush the "do you still use it?" improvements that has landed on
6the master front, together with a handful of low-hanging, low-impact
7fixes that should be safe.
8
9
10Fixes since Git 2.51.0
11----------------------
12
13 * The "do you still use it?" message given by a command that is
14 deeply deprecated and allow us to suggest alternatives has been
15 updated.
16
17 * The compatObjectFormat extension is used to hide an incomplete
18 feature that is not yet usable for any purpose other than
19 developing the feature further. Document it as such to discourage
20 its use by mere mortals.
21
22 * Manual page for "gitk" is updated with the current maintainer's
23 name.
24
25 * Update the instructions for using GGG in the MyFirstContribution
26 document to say that a GitHub PR could be made against `git/git`
27 instead of `gitgitgadget/git`.
28
29 * Clang-format update to let our control macros be formatted the way we
30 had them traditionally, e.g., "for_each_string_list_item()" without
31 space before the parentheses.
32
33 * A few places where a size_t value was cast to curl_off_t without
34 checking has been updated to use the existing helper function.
35
36 * The start_delayed_progress() function in the progress eye-candy API
37 did not clear its internal state, making an initial delay value
38 larger than 1 second ineffective, which has been corrected.
39
40 * Makefile tried to run multiple "cargo build" which would not work
41 very well; serialize their execution to work around this problem.
42
43 * Adjust to the way newer versions of cURL selectively enable tracing
44 options, so that our tests can continue to work.
45
46 * During interactive rebase, using 'drop' on a merge commit led to
47 an error, which has been corrected.
48
49 * "git refs migrate" to migrate the reflog entries from a refs
50 backend to another had a handful of bugs squashed.
51
52 * "git push" had a code path that led to BUG() but it should have
53 been a die(), as it is a response to a usual but invalid end-user
54 action to attempt pushing an object that does not exist.
55
56 * Various bugs about rename handling in "ort" merge strategy have
57 been fixed.
58
59 * "git diff --no-index" run inside a subdirectory under control of a
60 Git repository operated at the top of the working tree and stripped
61 the prefix from the output, and oddballs like "-" (stdin) did not
62 work correctly because of it. Correct the set-up by undoing what
63 the set-up sequence did to cwd and prefix.
64
65 * Various options to "git diff" that make comparison ignore certain
66 aspects of the differences (like "space changes are ignored",
67 "differences in lines that match these regular expressions are
68 ignored") did not work well with "--name-only" and friends.
69
70 * Under a race against another process that is repacking the
71 repository, especially a partially cloned one, "git fetch" may
72 mistakenly think some objects we do have are missing, which has
73 been corrected.
74
75 * "git repack --path-walk" lost objects in some corner cases, which
76 has been corrected.
77 cf. <CABPp-BHFxxGrqKc0m==TjQNjDGdO=H5Rf6EFsf2nfE1=TuraOQ@mail.gmail.com>
78
79 * Fixes multiple crashes around midx write-out codepaths.
80
81 * A broken or malicious "git fetch" can say that it has the same
82 object for many many times, and the upload-pack serving it can
83 exhaust memory storing them redundantly, which has been corrected.
84
85 * A corner case bug in "git log -L..." has been corrected.
86
87 * Some among "git add -p" and friends ignored color.diff and/or
88 color.ui configuration variables, which is an old regression, which
89 has been corrected.
90
91 * "git rebase -i" failed to clean-up the commit log message when the
92 command commits the final one in a chain of "fixup" commands, which
93 has been corrected.
94
95 * Deal more gracefully with directory / file conflicts when the files
96 backend is used for ref storage, by failing only the ones that are
97 involved in the conflict while allowing others.
98
99Also contains various documentation updates, code cleanups and minor fixups.