When necessary, transition strategy for existing users has been designed
not to force them running around setting configuration variables and
updating their scripts in order to either keep the traditional behaviour
use the new behaviour on the day their sysadmin decides to install
+or the new behaviour on the day their sysadmin decides to install
the new version of git. When we switched from "git-foo" to "git foo" in
1.6.0, even though the change had been advertised and the transition
guide had been provided for a very long time, the users procrastinated
during the entire transtion period, and ended up panicking on the day
-their sysadmins updated their git installation. We tried very hard to
-avoid repeating that unpleasantness.
+their sysadmins updated their git installation. We are trying to avoid
+repeating that unpleasantness in the 1.7.0 release.
-For changes decided to be in 1.7.0, we have been much louder to strongly
-discourage such procrastination. If you have been using recent versions
-of git, you would have already seen warnings issued when you exercised
-features whose behaviour will change, with the instruction on how to
-keep the existing behaviour if you want to. You hopefully should be
+For changes decided to be in 1.7.0, commands that will be affected
+have been much louder to strongly discourage such procrastination. If
+you have been using recent versions of git, you would have seen
+warnings issued when you exercised features whose behaviour will
+change, with a clear instruction on how to keep the existing behaviour
+if you want to. You hopefully are already well prepared.
-Of course, we have also given "this and that will change in 1.7.0;
-prepare yourselves" warnings in the release notes and announcement
-messages. Let's see how well users will fare this time.
+Of course, we have also been giving "this and that will change in
+1.7.0; prepare yourselves" warnings in the release notes and
+announcement messages for the past few releases. Let's see how well
+users will fare this time.
* "git push" into a branch that is currently checked out (i.e. pointed by
HEAD in a repository that is not bare) will be refused by default.
Setting the configuration variables receive.denyCurrentBranch and
receive.denyDeleteCurrent to 'ignore' in the receiving repository
can be used to override these safety features. Versions of git
- since 1.6.2 have issued a loud warning when you tried to do them
- without setting the configuration, so repositories of people who
- still need to be able to perform such a push should already have
+ since 1.6.2 have issued a loud warning when you tried to do these
+ operations without setting the configuration, so repositories of
+ people who still need to be able to perform such a push should
+ already have been future proofed.
* "git merge" (and "git pull") learned --ff-only option to make it fail
if the merge does not result in a fast-forward.
- * The ancient "git merge <message> HEAD <branch>..." syntax will be
- removed in later versions of git. A warning is given and tells
- users to use the "git merge -m <message> <branch>..." instead.
* "git mergetool" learned to use p4merge.
* "git rebase -i" learned "reword" that acts like "edit" but immediately
echo O=$(git describe master)
git shortlog --no-merges $O..master --not maint