|
1 | 1 | Git v1.8.4 Release Notes
|
2 | 2 | ========================
|
3 | 3 |
|
| 4 | +Backward compatibility notes (for Git 2.0) |
| 5 | +------------------------------------------ |
| 6 | + |
| 7 | +When "git push [$there]" does not say what to push, we have used the |
| 8 | +traditional "matching" semantics so far (all your branches were sent |
| 9 | +to the remote as long as there already are branches of the same name |
| 10 | +over there). In Git 2.0, the default will change to the "simple" |
| 11 | +semantics that pushes: |
| 12 | + |
| 13 | + - only the current branch to the branch with the same name, and only |
| 14 | + when the current branch is set to integrate with that remote |
| 15 | + branch, if you are pushing to the same remote as you fetch from; or |
| 16 | + |
| 17 | + - only the current branch to the branch with the same name, if you |
| 18 | + are pushing to a remote that is not where you usually fetch from. |
| 19 | + |
| 20 | +Use the user preference configuration variable "push.default" to |
| 21 | +change this. If you are an old-timer who is used to the "matching" |
| 22 | +semantics, you can set the variable to "matching" to keep the |
| 23 | +traditional behaviour. If you want to live in the future early, you |
| 24 | +can set it to "simple" today without waiting for Git 2.0. |
| 25 | + |
| 26 | +When "git add -u" (and "git add -A") is run inside a subdirectory and |
| 27 | +does not specify which paths to add on the command line, it |
| 28 | +will operate on the entire tree in Git 2.0 for consistency |
| 29 | +with "git commit -a" and other commands. There will be no |
| 30 | +mechanism to make plain "git add -u" behave like "git add -u .". |
| 31 | +Current users of "git add -u" (without a pathspec) should start |
| 32 | +training their fingers to explicitly say "git add -u ." |
| 33 | +before Git 2.0 comes. A warning is issued when these commands are |
| 34 | +run without a pathspec and when you have local changes outside the |
| 35 | +current directory, because the behaviour in Git 2.0 will be different |
| 36 | +from today's version in such a situation. |
| 37 | + |
| 38 | +In Git 2.0, "git add <path>" will behave as "git add -A <path>", so |
| 39 | +that "git add dir/" will notice paths you removed from the directory |
| 40 | +and record the removal. Versions before Git 2.0, including this |
| 41 | +release, will keep ignoring removals, but the users who rely on this |
| 42 | +behaviour are encouraged to start using "git add --ignore-removal <path>" |
| 43 | +now before 2.0 is released. |
| 44 | + |
| 45 | + |
4 | 46 | Updates since v1.8.3
|
5 | 47 | --------------------
|
6 | 48 |
|
7 | 49 | Foreign interfaces, subsystems and ports.
|
8 | 50 |
|
| 51 | + * "git rebase -i" now honors --strategy and -X options. |
| 52 | + |
9 | 53 | * Git-gui has been updated to its 0.18.0 version.
|
10 | 54 |
|
11 | 55 | * MediaWiki remote helper (in contrib/) has been updated to use the
|
@@ -35,6 +79,11 @@ Foreign interfaces, subsystems and ports.
|
35 | 79 |
|
36 | 80 | UI, Workflows & Features
|
37 | 81 |
|
| 82 | + * The "push.default=simple" mode of "git push" has been updated to |
| 83 | + behave like "current" without requiring a remote tracking |
| 84 | + information, when you push to a remote that is different from where |
| 85 | + you fetch from (i.e. a triangular workflow). |
| 86 | + |
38 | 87 | * Having multiple "fixup!" on a line in the rebase instruction sheet
|
39 | 88 | did not work very well with "git rebase -i --autosquash".
|
40 | 89 |
|
@@ -63,9 +112,9 @@ UI, Workflows & Features
|
63 | 112 | * On Cygwin, "cygstart" is now recognised as a possible way to start
|
64 | 113 | a web browser (used in "help -w" and "instaweb" among others).
|
65 | 114 |
|
66 |
| -### * "git status" learned status.branch and status.short configuration |
67 |
| -### variables to use --branch and --short options by default (override |
68 |
| -### with --no-branch and --no-short options from the command line). |
| 115 | + * "git status" learned status.branch and status.short configuration |
| 116 | + variables to use --branch and --short options by default (override |
| 117 | + with --no-branch and --no-short options from the command line). |
69 | 118 |
|
70 | 119 | * "git cmd <name>", when <name> happens to be a 40-hex string,
|
71 | 120 | directly uses the 40-hex string as an object name, even if a ref
|
@@ -188,6 +237,30 @@ Unless otherwise noted, all the fixes since v1.8.3 in the maintenance
|
188 | 237 | track are contained in this release (see release notes to them for
|
189 | 238 | details).
|
190 | 239 |
|
| 240 | + * "git diff" refused to even show difference when core.safecrlf is |
| 241 | + set to true (i.e. error out) and there are offending lines in the |
| 242 | + working tree files. |
| 243 | + (merge 5430bb2 jc/maint-diff-core-safecrlf later to maint). |
| 244 | + |
| 245 | + * A test that should have failed but didn't revealed a bug that needs |
| 246 | + to be corrected. |
| 247 | + (merge 94d75d1 jc/t1512-fix later to maint). |
| 248 | + |
| 249 | + * An overlong path to a .git directory may have overflown the |
| 250 | + temporary path buffer used to create a name for lockfiles. |
| 251 | + (merge 2fbd4f9 mh/maint-lockfile-overflow later to maint). |
| 252 | + |
| 253 | + * Invocations of "git checkout" used internally by "git rebase" were |
| 254 | + counted as "checkout", and affected later "git checkout -" to the |
| 255 | + the user to an unexpected place. |
| 256 | + (merge 3bed291 rr/rebase-checkout-reflog later to maint). |
| 257 | + |
| 258 | + * "git stash save", when your local change turns a tracked file into |
| 259 | + a directory, has to remove files in that directory in order to |
| 260 | + revert your working tree to a pristine state. This will lose |
| 261 | + untracked files in such a directory, and the command now requires |
| 262 | + you to "--force" it. |
| 263 | + |
191 | 264 | * The configuration variable column.ui was poorly documented.
|
192 | 265 | (merge 5e62cc1 rr/column-doc later to maint).
|
193 | 266 |
|
|
0 commit comments