| 1 | Git 2.46.1 Release Notes |
| 2 | ======================== |
| 3 | |
| 4 | This release is primarily to merge fixes accumulated on the 'master' |
| 5 | front to prepare for 2.47 release that are still relevant to 2.46.x |
| 6 | maintenance track. |
| 7 | |
| 8 | Fixes since Git 2.46 |
| 9 | -------------------- |
| 10 | |
| 11 | * "git checkout --ours" (no other arguments) complained that the |
| 12 | option is incompatible with branch switching, which is technically |
| 13 | correct, but found confusing by some users. It now says that the |
| 14 | user needs to give pathspec to specify what paths to checkout. |
| 15 | |
| 16 | * It has been documented that we avoid "VAR=VAL shell_func" and why. |
| 17 | |
| 18 | * "git add -p" by users with diff.suppressBlankEmpty set to true |
| 19 | failed to parse the patch that represents an unmodified empty line |
| 20 | with an empty line (not a line with a single space on it), which |
| 21 | has been corrected. |
| 22 | |
| 23 | * "git rebase --help" referred to "offset" (the difference between |
| 24 | the location a change was taken from and the change gets replaced) |
| 25 | incorrectly and called it "fuzz", which has been corrected. |
| 26 | |
| 27 | * "git notes add -m '' --allow-empty" and friends that take prepared |
| 28 | data to create notes should not invoke an editor, but it started |
| 29 | doing so since Git 2.42, which has been corrected. |
| 30 | |
| 31 | * An expensive operation to prepare tracing was done in re-encoding |
| 32 | code path even when the tracing was not requested, which has been |
| 33 | corrected. |
| 34 | |
| 35 | * Perforce tests have been updated. |
| 36 | |
| 37 | * The credential helper to talk to OSX keychain sometimes sent |
| 38 | garbage bytes after the username, which has been corrected. |
| 39 | |
| 40 | * A recent update broke "git ls-remote" used outside a repository, |
| 41 | which has been corrected. |
| 42 | |
| 43 | * "git config --value=foo --fixed-value section.key newvalue" barfed |
| 44 | when the existing value in the configuration file used the |
| 45 | valueless true syntax, which has been corrected. |
| 46 | |
| 47 | * "git reflog expire" failed to honor annotated tags when computing |
| 48 | reachable commits. |
| 49 | |
| 50 | * A flakey test and incorrect calls to strtoX() functions have been |
| 51 | fixed. |
| 52 | |
| 53 | * Follow-up on 2.45.1 regression fix. |
| 54 | |
| 55 | * "git rev-list ... | git diff-tree -p --remerge-diff --stdin" should |
| 56 | behave more or less like "git log -p --remerge-diff" but instead it |
| 57 | crashed, forgetting to prepare a temporary object store needed. |
| 58 | |
| 59 | * The patch parser in "git patch-id" has been tightened to avoid |
| 60 | getting confused by lines that look like a patch header in the log |
| 61 | message. |
| 62 | |
| 63 | * "git bundle unbundle" outside a repository triggered a BUG() |
| 64 | unnecessarily, which has been corrected. |
| 65 | |
| 66 | * The code forgot to discard unnecessary in-core commit buffer data |
| 67 | for commits that "git log --skip=<number>" traversed but omitted |
| 68 | from the output, which has been corrected. |
| 69 | |
| 70 | * "git verify-pack" and "git index-pack" started dying outside a |
| 71 | repository, which has been corrected. |
| 72 | |
| 73 | * A corner case bug in "git stash" was fixed. |
| 74 | |
| 75 | Also contains minor documentation updates and code clean-ups. |