Merge branch 'mm/add-u-A-finishing-touches'
authorJunio C Hamano <gitster@pobox.com>
Mon, 11 Mar 2013 17:32:03 +0000 (10:32 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 11 Mar 2013 17:32:03 +0000 (10:32 -0700)
* mm/add-u-A-finishing-touches:
add: update pathless 'add [-u|-A]' warning to reflect change of plan

13 files changed:
Documentation/RelNotes/1.8.2.txt
Documentation/git-add.txt
GIT-VERSION-GEN
contrib/completion/git-completion.zsh
git.c
gitweb/README
perl/Git/SVN.pm
po/de.po
po/git.pot
po/sv.po
po/vi.po
po/zh_CN.po
t/perf/README
index 78c65776657d135e775e8f06a0973c407279ca14..fc606ae116239601a5ae75c2b124552faa837bd6 100644 (file)
@@ -1,19 +1,8 @@
 Git v1.8.2 Release Notes
 ========================
 
-Backward compatibility notes
-----------------------------
-
-In the next major release Git 2.0 (not *this* one), we will change the
-behavior of the "git push" command.
-
-When "git push [$there]" does not say what to push, we have used the
-traditional "matching" semantics so far (all your branches were sent
-to the remote as long as there already are branches of the same name
-over there).  We will use the "simple" semantics that pushes the
-current branch to the branch with the same name, only when the current
-branch is set to integrate with that remote branch.  There is a user
-preference configuration variable "push.default" to change this.
+Backward compatibility notes (this release)
+-------------------------------------------
 
 "git push $there tag v1.2.3" used to allow replacing a tag v1.2.3
 that already exists in the repository $there, if the rewritten tag
@@ -22,22 +11,41 @@ that the old tag v1.2.3 points at.  This was found to be error prone
 and starting with this release, any attempt to update an existing
 ref under refs/tags/ hierarchy will fail, without "--force".
 
-When "git add -u" and "git add -A", that does not specify what paths
-to add on the command line, is run from inside a subdirectory, the
+When "git add -u" and "git add -A" that does not specify what paths
+to add on the command line is run from inside a subdirectory, the
 scope of the operation has always been limited to the subdirectory.
 Many users found this counter-intuitive, given that "git commit -a"
 and other commands operate on the entire tree regardless of where you
-are. In this release, these commands give warning in such a case and
-encourage the user to say "git add -u/-A ." instead when restricting
-the scope to the current directory.
-
-At Git 2.0 (not *this* one), we plan to change these commands without
-pathspec to operate on the entire tree.  Forming a habit to type "."
-when you mean to limit the command to the current working directory
-will protect you against the planned future change, and that is the
-whole point of the new message (there will be no configuration
-variable to squelch this warning---it goes against the "habit forming"
-objective).
+are.  In this release, these commands give a warning message that
+suggests the users to use "git add -u/-A ." when they want to limit
+the scope to the current directory; doing so will squelch the message,
+while training their fingers.
+
+
+Backward compatibility notes (for Git 2.0)
+------------------------------------------
+
+When "git push [$there]" does not say what to push, we have used the
+traditional "matching" semantics so far (all your branches were sent
+to the remote as long as there already are branches of the same name
+over there).  In Git 2.0, the default will change to the "simple"
+semantics that pushes the current branch to the branch with the same
+name, only when the current branch is set to integrate with that
+remote branch.  There is a user preference configuration variable
+"push.default" to change this.  If you are an old-timer who is used
+to the "matching" semantics, you can set it to "matching" to keep the
+traditional behaviour.  If you want to live in the future early,
+you can set it to "simple" today without waiting for Git 2.0.
+
+When "git add -u" and "git add -A", that does not specify what paths
+to add on the command line is run from inside a subdirectory, these
+commands will operate on the entire tree in Git 2.0 for consistency
+with "git commit -a" and other commands. Because there will be no
+mechanism to make "git add -u" behave as if "git add -u .", it is
+important for those who are used to "git add -u" (without pathspec)
+updating the index only for paths in the current subdirectory to start
+training their fingers to explicitly say "git add -u ." when they mean
+it before Git 2.0 comes.
 
 
 Updates since v1.8.1
index 388a2254f9df0afd83482d0ad572c359401f1d7b..b0944e57d52546d725d0d9d71692ff74f9fac55f 100644 (file)
@@ -100,12 +100,9 @@ apply to the index. See EDITING PATCHES below.
 
 -u::
 --update::
-       Only match <pathspec> against already tracked files in
-       the index rather than the working tree. That means that it
-       will never stage new files, but that it will stage modified
-       new contents of tracked files and that it will remove files
-       from the index if the corresponding files in the working tree
-       have been removed.
+       Update the index just where it already has an entry matching
+       <pathspec>.  This removes as well as modifies index entries to
+       match the working tree, but adds no new files.
 +
 If no <pathspec> is given, the current version of Git defaults to
 "."; in other words, update all tracked files in the current directory
@@ -114,10 +111,15 @@ of Git, hence the form without <pathspec> should not be used.
 
 -A::
 --all::
-       Like `-u`, but match <pathspec> against files in the
-       working tree in addition to the index. That means that it
-       will find new files as well as staging modified content and
-       removing files that are no longer in the working tree.
+       Update the index not only where the working tree has a file
+       matching <pathspec> but also where the index already has an
+       entry.  This adds, modifies, and removes index entries to
+       match the working tree.
++
+If no <pathspec> is given, the current version of Git defaults to
+"."; in other words, update all files in the current directory
+and its subdirectories. This default will change in a future version
+of Git, hence the form without <pathspec> should not be used.
 
 -N::
 --intent-to-add::
index 6b96d6addcfaf29273017419ecaa0eabca942af5..c725291fcc59fc2bacfc0d37d88b880c2d511a02 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 GVF=GIT-VERSION-FILE
-DEF_VER=v1.8.2-rc2
+DEF_VER=v1.8.2-rc3
 
 LF='
 '
index 45775021fff11011a98b90a6b8ebaa72d3d0cd9f..cf8116d4770c5924eaa647763d2bfae3dc14bacf 100644 (file)
@@ -60,6 +60,15 @@ __gitcomp_nl ()
        compadd -Q -S "${4- }" -p "${2-}" -- ${=1} && _ret=0
 }
 
+__gitcomp_file ()
+{
+       emulate -L zsh
+
+       local IFS=$'\n'
+       compset -P '*[=:]'
+       compadd -Q -p "${2-}" -f -- ${=1} && _ret=0
+}
+
 _git ()
 {
        local _ret=1
diff --git a/git.c b/git.c
index b10c18b0419904631d7e8fa4a1fd11e8533b3034..86c4432db59879b433c478494cda9fb322563de7 100644 (file)
--- a/git.c
+++ b/git.c
@@ -545,7 +545,7 @@ int main(int argc, const char **argv)
                commit_pager_choice();
                printf("usage: %s\n\n", git_usage_string);
                list_common_cmds_help();
-               printf("\n%s\n", git_more_info_string);
+               printf("\n%s\n", _(git_more_info_string));
                exit(1);
        }
        cmd = argv[0];
index 6da4778b73e3ef1d098fce7655bf4ca5bb2443e5..471dcfb691bb9f1361c80daa17b522ca74193314 100644 (file)
@@ -1,9 +1,6 @@
 GIT web Interface
 =================
 
-The one working on:
-  http://git.kernel.org/
-
 From the git version 1.4.0 gitweb is bundled with git.
 
 
index 0ebc68ac7e64171acc52abe59063fec48ca3c129..5273ee886764423df0bacfa9b2fbc9b27c4852c4 100644 (file)
@@ -1493,13 +1493,18 @@ sub lookup_svn_merge {
        my @merged_commit_ranges;
        # find the tip
        for my $range ( @ranges ) {
+               if ($range =~ /[*]$/) {
+                       warn "W: Ignoring partial merge in svn:mergeinfo "
+                               ."dirprop: $source:$range\n";
+                       next;
+               }
                my ($bottom, $top) = split "-", $range;
                $top ||= $bottom;
                my $bottom_commit = $gs->find_rev_after( $bottom, 1, $top );
                my $top_commit = $gs->find_rev_before( $top, 1, $bottom );
 
                unless ($top_commit and $bottom_commit) {
-                       warn "W:unknown path/rev in svn:mergeinfo "
+                       warn "W: unknown path/rev in svn:mergeinfo "
                                ."dirprop: $source:$range\n";
                        next;
                }
index 4df53e44367ce4a3ae8306ab57b9e6eadb7445f5..83c30b158764d4e88c21cc8d332d6c0eacb1eba1 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: git 1.8.2\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2013-02-19 13:32+0800\n"
+"POT-Creation-Date: 2013-03-05 12:36+0800\n"
 "PO-Revision-Date: 2012-10-02 19:35+0200\n"
 "Last-Translator: Ralf Thielow <ralf.thielow@gmail.com>\n"
 "Language-Team: German <>\n"
@@ -127,10 +127,10 @@ msgstr "Pfad zum externen \"git-upload-archive\"-Programm"
 
 #: attr.c:259
 msgid ""
-"Negative patterns are forbidden in git attributes\n"
+"Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
 msgstr ""
-"Verneinende Muster sind in Git-Attributen verboten.\n"
+"Verneinende Muster werden in Git-Attributen ignoriert.\n"
 "Benutzen Sie '\\!' für führende Ausrufezeichen."
 
 #: bundle.c:36
@@ -1303,8 +1303,9 @@ msgstr "  (alle Konflikte behoben: führen Sie \"git rebase --continue\" aus)"
 #, c-format
 msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
-msgstr "Sie teilen gerade eine Version auf, während ein Neuaufbau von Zweig "
-"'%s' auf '%s' im Gange ist."
+msgstr ""
+"Sie teilen gerade eine Version auf, während ein Neuaufbau von Zweig '%s' auf "
+"'%s' im Gange ist."
 
 #: wt-status.c:913
 msgid "You are currently splitting a commit during a rebase."
@@ -1319,8 +1320,9 @@ msgstr ""
 #: wt-status.c:920
 #, c-format
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
-msgstr "Sie editieren gerade eine Version während eines Neuaufbaus von Zweig "
-"'%s' auf '%s'."
+msgstr ""
+"Sie editieren gerade eine Version während eines Neuaufbaus von Zweig '%s' "
+"auf '%s'."
 
 #: wt-status.c:925
 msgid "You are currently editing a commit during a rebase."
index a2ab9e82633ab8060283e85a6c4c6cc432b99ef9..a826dcbf9ffa723b85eb9fa8bc0e715ddf0e42ad 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2013-02-19 13:32+0800\n"
+"POT-Creation-Date: 2013-03-05 12:36+0800\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -122,7 +122,7 @@ msgstr ""
 
 #: attr.c:259
 msgid ""
-"Negative patterns are forbidden in git attributes\n"
+"Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
 msgstr ""
 
index 9ac06c9700d420c486bf2773089b835be361f7f5..15f1aa82a08ee6aab7263f57adb38bc38a01dd67 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: git 1.8.2\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2013-02-19 13:32+0800\n"
-"PO-Revision-Date: 2013-02-19 10:25+0100\n"
+"POT-Creation-Date: 2013-03-05 12:36+0800\n"
+"PO-Revision-Date: 2013-03-05 09:17+0100\n"
 "Last-Translator: Peter Krefting <peter@softwolves.pp.se>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
 "Language: sv\n"
@@ -127,10 +127,10 @@ msgstr "sökväg till kommandot git-upload-archive på fjärren"
 
 #: attr.c:259
 msgid ""
-"Negative patterns are forbidden in git attributes\n"
+"Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
 msgstr ""
-"Negativa mönster är förbjudna i git-attribut\n"
+"Negativa mönster ignoreras i git-attribut\n"
 "Använd '\\!' för att inleda med ett utropstecken."
 
 #: bundle.c:36
index f1ab8621ec6f426e4a930afa53648a8f436b7933..7d9d05d6cb0c61b6cc6f6f274faf60a9479eab42 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -6,10 +6,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: git-v1.8.2-rc0-16-g20a59\n"
+"Project-Id-Version: git-v1.8.2-rc2-4-g77995\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2013-02-19 13:32+0800\n"
-"PO-Revision-Date: 2013-02-20 07:14+0700\n"
+"POT-Creation-Date: 2013-03-05 12:36+0800\n"
+"PO-Revision-Date: 2013-03-06 13:55+0700\n"
 "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
 "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
 "Language: vi\n"
@@ -131,11 +131,11 @@ msgstr "đường dẫn đến lệnh git-upload-pack trên máy chủ"
 
 #: attr.c:259
 msgid ""
-"Negative patterns are forbidden in git attributes\n"
+"Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
 msgstr ""
-"Các mẫu dạng phủ định bị cấm dùng trong các thuộc tính của git\n"
-"Dùng “\\!” cho các chuỗi văn bản có dấu chấm than."
+"Các mẫu dạng phủ định bị cấm dùng cho các thuộc tính của git\n"
+"Dùng “\\!” cho các chuỗi văn bản có dấu chấm than dẫn đầu."
 
 #: bundle.c:36
 #, c-format
@@ -1269,7 +1269,7 @@ msgstr "  (dùng \"git am --abort\" để phục hồi lại nhánh nguyên th
 #: wt-status.c:879 wt-status.c:896
 #, c-format
 msgid "You are currently rebasing branch '%s' on '%s'."
-msgstr "Bạn hiện nay đang thực hiện việc rebase nhánh '%s' trên '%s'."
+msgstr "Bạn hiện nay đang thực hiện việc rebase nhánh “%s” trên “%s”."
 
 #: wt-status.c:884 wt-status.c:901
 msgid "You are currently rebasing."
@@ -1298,7 +1298,7 @@ msgid ""
 "You are currently splitting a commit while rebasing branch '%s' on '%s'."
 msgstr ""
 "Bạn hiện nay đang thực hiện việc chia tách một lần chuyển giao (commit) "
-"trong khi đang rebase nhánh '%s' trên '%s'."
+"trong khi đang rebase nhánh “%s” trên “%s”."
 
 #: wt-status.c:913
 msgid "You are currently splitting a commit during a rebase."
@@ -1317,7 +1317,7 @@ msgstr ""
 msgid "You are currently editing a commit while rebasing branch '%s' on '%s'."
 msgstr ""
 "Bạn hiện nay đang thực hiện việc sửa chữa một lần chuyển giao (commit) trong "
-"khi đang rebase nhánh '%s' trên '%s'."
+"khi đang rebase nhánh “%s” trên “%s”."
 
 #: wt-status.c:925
 msgid "You are currently editing a commit during a rebase."
@@ -1348,7 +1348,7 @@ msgstr "  (khi tất cả các xung đột đã sửa xong: chạy lệnh \"git
 msgid "You are currently bisecting branch '%s'."
 msgstr ""
 "Bạn hiện nay đang thực hiện thao tác di chuyển nửa bước (bisect) trên nhánh "
-"'%s'."
+"“%s”."
 
 #: wt-status.c:962
 msgid "You are currently bisecting."
index 583ed3385df3d5d5fe4bba063d35c733a52558f6..c48ae10d78595592fb6b44a2d5f338f588010423 100644 (file)
@@ -12,8 +12,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Git\n"
 "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
-"POT-Creation-Date: 2013-02-19 13:32+0800\n"
-"PO-Revision-Date: 2013-02-19 14:44+0800\n"
+"POT-Creation-Date: 2013-03-05 12:36+0800\n"
+"PO-Revision-Date: 2013-03-05 13:07+0800\n"
 "Last-Translator: Jiang Xin <worldhello.net@gmail.com>\n"
 "Language-Team: GitHub <https://github.com/gotgit/git/>\n"
 "Language: zh_CN\n"
@@ -130,10 +130,10 @@ msgstr "远程 git-upload-archive 命令的路径"
 
 #: attr.c:259
 msgid ""
-"Negative patterns are forbidden in git attributes\n"
+"Negative patterns are ignored in git attributes\n"
 "Use '\\!' for literal leading exclamation."
 msgstr ""
-"在 git attributes 中不允许使用负值模版\n"
+"负值模版在 git attributes 中被忽略\n"
 "当字符串确实要以感叹号开始时,使用 '\\!'。"
 
 #: bundle.c:36
index b2dbad4d502a0d88269885eb56780deb3079b42c..c552f561bffd9800d53064772ea640677b20a3ae 100644 (file)
@@ -56,7 +56,7 @@ You can set the following variables (also in your config.mak):
 
     GIT_PERF_REPEAT_COUNT
        Number of times a test should be repeated for best-of-N
-       measurements.  Defaults to 5.
+       measurements.  Defaults to 3.
 
     GIT_PERF_MAKE_OPTS
        Options to use when automatically building a git tree for