Git fork

The second batch

Signed-off-by: Junio C Hamano <gitster@pobox.com>

+52
+52
Documentation/RelNotes/2.41.0.txt
··· 11 11 checking object connectivity, most useful when there are many 12 12 unrelated histories in a single repository. 13 13 14 + * "git push" has been taught to allow deletion of refs with one-level 15 + names to help repairing a repository who acquired such a ref by 16 + mistake. In general, we don't encourage use of such a ref, and 17 + creation or update to such a ref is rejected as before. 18 + 19 + * Allow "git bisect reset" to check out the original branch when the 20 + branch is already checked out in a different worktree linked to the 21 + same repository. 22 + 23 + * A few subcommands have been taught to stop users from working on a 24 + branch that is being used in another worktree linked to the same 25 + repository. 26 + 27 + * "git format-patch" learned to write a log-message only output file 28 + for empty commits. 29 + 14 30 15 31 Performance, Internal Implementation, Development Support etc. 16 32 ··· 33 49 just like "git gc" honors them as anchoring points. 34 50 (merge 8d3e7eac52 jk/fsck-indices-in-worktrees later to maint). 35 51 52 + * Fix a segfaulting loop. The function and its caller may need 53 + further clean-up. 54 + (merge c5773dc078 ew/commit-reach-clean-up-flags-fix later to maint). 55 + 56 + * "git restore" supports options like "--ours" that are only 57 + meaningful during a conflicted merge, but these options are only 58 + meaningful when updating the working tree files. These options are 59 + marked to be incompatible when both "--staged" and "--worktree" are 60 + in effect. 61 + (merge ee8a88826a ak/restore-both-incompatible-with-conflicts later to maint). 62 + 63 + * Simplify UI to control progress meter given by "git bundle" command. 64 + (merge 8b95521edb jk/bundle-progress later to maint). 65 + 66 + * "git bundle" learned that "-" is a common way to say that the input 67 + comes from the standard input and/or the output goes to the 68 + standard output. It used to work only for output and only from the 69 + root level of the working tree. 70 + (merge 0bbe10313e jk/bundle-use-dash-for-stdfiles later to maint). 71 + 72 + * Once we start running, we assumed that the list of alternate object 73 + databases would never change. Hook into the machinery used to 74 + update the list of packfiles during runtime to update this list as 75 + well. 76 + (merge e2d003dbed ds/reprepare-alternates-when-repreparing-packfiles later to maint). 77 + 78 + * The code to parse "git rebase -X<opt>" was not prepared to see an 79 + unparsable option string, which has been corrected. 80 + (merge 15a4cc912e ab/fix-strategy-opts-parsing later to maint). 81 + 82 + * "git add -p" while the index is unmerged sometimes failed to parse 83 + the diff output it internally produces and died, which has been 84 + corrected. 85 + (merge 28d1122f9c jk/add-p-unmerged-fix later to maint). 86 + 36 87 * Other code cleanup, docfix, build fix, etc. 88 + (merge f7111175df as/doc-markup-fix later to maint).