{"thread":{"id":"25535","subject":"[PATCH 04/10] Change \"tracking branch\" to \"remote-tracking branch\"","startedAt":"2010-10-23T16:31:11Z","lastAt":"2010-10-31T14:57:20Z","messageCount":101,"participants":["Matthieu Moy","Jonathan Nieder","Jakub Narebski","Thore Husfeldt","Drew Northup","Miles Bader","Jay Soffian","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":10},"messages":[{"id":"154255","messageId":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":null,"subject":"[PATCH 00/11] More consistant terminology (\"remote-tracking branch\", \"not updated\")","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-23T16:31:11Z","receivedAt":"2010-10-23T16:31:11Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"Following the discussion in\n\nhttp://thread.gmane.org/gmane.comp.version-control.git/159287/\nhttp://thread.gmane.org/gmane.comp.version-control.git/159287/focus=159288\n\nthis is an attempt to be more consistant in the terminology used in Git.\n\nThe first patch fixes git status's \"changed but not updated\", and the\nrest tries to use \"remote-tracking branch\" consistantly. This\nessentially changes the doc, and also does slight modifications to the\ncode. This changes error message, and maybe more controversially the\ngenerated merge messages (in a separate patch in case this is too\ncontroversial).\n\nI've tried splitting this into systematic changes to ease review, but\npatches should be applicable in any order (i.e. Junio: if you find\nsome of the patches good and uncontroversial, you can pick them\nright away).\n\nPatch \"user-manual.txt: explain better the remote(-tracking) branch\nterms\" comes last, and adds a few sentences to make the distinction\nbetween remote, remote branch, remote-tracking branches explicit.\nHopefully, this should avoid future users to have the same\ndifficulties as Thore ;-).\n\nThe last 2 patches are minor things I noticed while going through the\ndocs, but are essentially unrelated.\n\nI'll be busy next week, so if anyone else wants to pick this patch\nserie and update it according to list review, he's welcome. Otherwise,\nit may have to wait.\n\nMatthieu Moy (11):\n  Better \"Changed but not updated\" message in git-status\n  Remplace \"remote tracking\" with \"remote-tracking\"\n  Change remote tracking to remote-tracking in non-trivial places\n  Change \"tracking branch\" to \"remote-tracking branch\"\n  Change \"tracking branch\" to \"remote-tracking branch\" in C code\n  Change incorrect uses of \"remote branch\" meaning \"remote-tracking\"\n  Change incorrect \"remote branch\" to \"remote tracking branch\" in C\n    code\n  Use 'remote-tracking branch' in generated merge messages\n  user-manual.txt: explain better the remote(-tracking) branch terms\n  git-branch.txt: mention --set-upstream as a way to change upstream\n    configuration\n  git-http-push.txt: fix typo (branch -> branches)\n\n Documentation/config.txt               |   13 ++++++-----\n Documentation/everyday.txt             |    6 ++--\n Documentation/fetch-options.txt        |    2 +-\n Documentation/git-branch.txt           |   14 +++++++-----\n Documentation/git-checkout.txt         |    2 +-\n Documentation/git-clone.txt            |    2 +-\n Documentation/git-describe.txt         |    2 +-\n Documentation/git-fetch.txt            |    2 +-\n Documentation/git-gc.txt               |    6 ++--\n Documentation/git-http-push.txt        |    2 +-\n Documentation/git-log.txt              |    2 +-\n Documentation/git-pull.txt             |    8 +++---\n Documentation/git-remote.txt           |    6 ++--\n Documentation/git-tag.txt              |    4 +-\n Documentation/gittutorial-2.txt        |    2 +-\n Documentation/gittutorial.txt          |    6 ++--\n Documentation/glossary-content.txt     |    8 +++---\n Documentation/rev-list-options.txt     |    2 +-\n Documentation/user-manual.txt          |   22 +++++++++++++++-----\n branch.h                               |    2 +-\n builtin/checkout.c                     |    4 +-\n builtin/fetch.c                        |    6 ++--\n builtin/fmt-merge-msg.c                |    6 ++--\n builtin/merge.c                        |    2 +-\n builtin/remote.c                       |    6 ++--\n contrib/examples/builtin-fetch--tool.c |    2 +-\n remote.c                               |    2 +-\n t/t1507-rev-parse-upstream.sh          |    2 +-\n t/t3409-rebase-preserve-merges.sh      |    2 +-\n t/t5400-send-pack.sh                   |    2 +-\n t/t5505-remote.sh                      |    6 ++--\n t/t5513-fetch-track.sh                 |    2 +-\n t/t7508-status.sh                      |   34 ++++++++++++++++----------------\n t/t7608-merge-messages.sh              |    4 +-\n wt-status.c                            |    2 +-\n 35 files changed, 104 insertions(+), 91 deletions(-)\n\n-- \n1.7.3.2.537.g7e355\n"},{"id":"154252","messageId":"1287851481-27952-2-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 01/10] Better \"Changed but not updated\" message in git-status","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-23T16:31:12Z","receivedAt":"2010-10-23T16:31:12Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"Older Gits talked about \"updating\" a file to add its content to the\nindex, but this terminology is confusing for new users. \"to stage\" is far\nmore intuitive and already used in e.g. the \"git stage\" command name.\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/gittutorial-2.txt |    2 +-\n t/t7508-status.sh               |   34 +++++++++++++++++-----------------\n wt-status.c                     |    2 +-\n 3 files changed, 19 insertions(+), 19 deletions(-)\n\ndiff --git a/Documentation/gittutorial-2.txt b/Documentation/gittutorial-2.txt\nindex ecab0c0..9b17a71 100644\n--- a/Documentation/gittutorial-2.txt\n+++ b/Documentation/gittutorial-2.txt\n@@ -373,7 +373,7 @@ $ git status\n #\n #       new file: closing.txt\n #\n-# Changed but not updated:\n+# Changed but not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #\n #       modified: file.txt\ndiff --git a/t/t7508-status.sh b/t/t7508-status.sh\nindex c9300f3..bfb47a2 100755\n--- a/t/t7508-status.sh\n+++ b/t/t7508-status.sh\n@@ -44,7 +44,7 @@ cat >expect <<\\EOF\n #\n #\tnew file:   dir2/added\n #\n-# Changed but not updated:\n+# Changed but not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -73,7 +73,7 @@ cat >expect <<\\EOF\n # Changes to be committed:\n #\tnew file:   dir2/added\n #\n-# Changed but not updated:\n+# Changed but not staged for commit:\n #\tmodified:   dir1/modified\n #\n # Untracked files:\n@@ -140,7 +140,7 @@ cat >expect <<EOF\n #\n #\tnew file:   dir2/added\n #\n-# Changed but not updated:\n+# Changed but not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -167,7 +167,7 @@ cat >expect <<EOF\n # Changes to be committed:\n #\tnew file:   dir2/added\n #\n-# Changed but not updated:\n+# Changed but not staged for commit:\n #\tmodified:   dir1/modified\n #\n # Untracked files not listed\n@@ -202,7 +202,7 @@ cat >expect <<EOF\n #\n #\tnew file:   dir2/added\n #\n-# Changed but not updated:\n+# Changed but not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -260,7 +260,7 @@ cat >expect <<EOF\n #\n #\tnew file:   dir2/added\n #\n-# Changed but not updated:\n+# Changed but not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -320,7 +320,7 @@ cat >expect <<\\EOF\n #\n #\tnew file:   ../dir2/added\n #\n-# Changed but not updated:\n+# Changed but not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -392,7 +392,7 @@ cat >expect <<\\EOF\n #\n #\t<GREEN>new file:   dir2/added<RESET>\n #\n-# Changed but not updated:\n+# Changed but not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -521,7 +521,7 @@ cat >expect <<\\EOF\n #\n #\tnew file:   dir2/added\n #\n-# Changed but not updated:\n+# Changed but not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -614,7 +614,7 @@ cat >expect <<EOF\n #\tnew file:   dir2/added\n #\tnew file:   sm\n #\n-# Changed but not updated:\n+# Changed but not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -673,7 +673,7 @@ cat >expect <<EOF\n #\tnew file:   dir2/added\n #\tnew file:   sm\n #\n-# Changed but not updated:\n+# Changed but not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -718,7 +718,7 @@ test_expect_success 'status -s submodule summary' '\n \n cat >expect <<EOF\n # On branch master\n-# Changed but not updated:\n+# Changed but not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -766,7 +766,7 @@ cat >expect <<EOF\n #\tnew file:   dir2/added\n #\tnew file:   sm\n #\n-# Changed but not updated:\n+# Changed but not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -819,7 +819,7 @@ cat > expect << EOF\n #\n #\tmodified:   sm\n #\n-# Changed but not updated:\n+# Changed but not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -931,7 +931,7 @@ cat > expect << EOF\n #\n #\tmodified:   sm\n #\n-# Changed but not updated:\n+# Changed but not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #   (commit or discard the untracked or modified content in submodules)\n@@ -989,7 +989,7 @@ cat > expect << EOF\n #\n #\tmodified:   sm\n #\n-# Changed but not updated:\n+# Changed but not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -1067,7 +1067,7 @@ test_expect_success \".git/config ignore=dirty doesn't suppress submodule summary\n \n cat > expect << EOF\n # On branch master\n-# Changed but not updated:\n+# Changed but not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\ndiff --git a/wt-status.c b/wt-status.c\nindex fc2438f..afb3c78 100644\n--- a/wt-status.c\n+++ b/wt-status.c\n@@ -88,7 +88,7 @@ static void wt_status_print_dirty_header(struct wt_status *s,\n {\n \tconst char *c = color(WT_STATUS_HEADER, s);\n \n-\tcolor_fprintf_ln(s->fp, c, \"# Changed but not updated:\");\n+\tcolor_fprintf_ln(s->fp, c, \"# Changed but not staged for commit:\");\n \tif (!advice_status_hints)\n \t\treturn;\n \tif (!has_deleted)\n-- \n1.7.3.2.537.g7e355\n"},{"id":"154256","messageId":"1287851481-27952-3-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 02/10] Remplace \"remote tracking\" with \"remote-tracking\"","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-23T16:31:13Z","receivedAt":"2010-10-23T16:31:13Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"\"remote-tracking\" branch makes it explicit that the branch is \"tracking a\nremote\", as opposed to \"remote, and tracking something\".\n\nSee discussion in e.g.\nhttp://mid.gmane.org/8835ADF9-45E5-4A26-9F7F-A72ECC065BB2@gmail.com\nfor more details.\n\nThis patch is a straightforward application of\n\n  perl -pi -e 's/remote tracking branch/remote-tracking branch/'\n\nexcept in the RelNotes directory.\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/config.txt           |    2 +-\n Documentation/fetch-options.txt    |    2 +-\n Documentation/git-log.txt          |    2 +-\n Documentation/git-pull.txt         |    2 +-\n Documentation/git-remote.txt       |    4 ++--\n Documentation/gittutorial.txt      |    2 +-\n Documentation/rev-list-options.txt |    2 +-\n Documentation/user-manual.txt      |    2 +-\n builtin/checkout.c                 |    2 +-\n t/t5513-fetch-track.sh             |    2 +-\n 10 files changed, 11 insertions(+), 11 deletions(-)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 538ebb5..e625d6a 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -708,7 +708,7 @@ color.diff.<slot>::\n color.decorate.<slot>::\n \tUse customized color for 'git log --decorate' output.  `<slot>` is one\n \tof `branch`, `remoteBranch`, `tag`, `stash` or `HEAD` for local\n-\tbranches, remote tracking branches, tags, stash and HEAD, respectively.\n+\tbranches, remote-tracking branches, tags, stash and HEAD, respectively.\n \n color.grep::\n \tWhen set to `always`, always highlight matches.  When `false` (or\ndiff --git a/Documentation/fetch-options.txt b/Documentation/fetch-options.txt\nindex 470ac31..a435c23 100644\n--- a/Documentation/fetch-options.txt\n+++ b/Documentation/fetch-options.txt\n@@ -36,7 +36,7 @@ ifndef::git-pull[]\n \n -p::\n --prune::\n-\tAfter fetching, remove any remote tracking branches which\n+\tAfter fetching, remove any remote-tracking branches which\n \tno longer exist\ton the remote.\n endif::git-pull[]\n \ndiff --git a/Documentation/git-log.txt b/Documentation/git-log.txt\nindex 6d40f00..ff41784 100644\n--- a/Documentation/git-log.txt\n+++ b/Documentation/git-log.txt\n@@ -116,7 +116,7 @@ git log --follow builtin-rev-list.c::\n git log --branches --not --remotes=origin::\n \n \tShows all commits that are in any of local branches but not in\n-\tany of remote tracking branches for 'origin' (what you have that\n+\tany of remote-tracking branches for 'origin' (what you have that\n \torigin doesn't).\n \n git log master --not --remotes=*/master::\ndiff --git a/Documentation/git-pull.txt b/Documentation/git-pull.txt\nindex c50f7dc..33e8438 100644\n--- a/Documentation/git-pull.txt\n+++ b/Documentation/git-pull.txt\n@@ -26,7 +26,7 @@ With `--rebase`, it runs 'git rebase' instead of 'git merge'.\n <repository> should be the name of a remote repository as\n passed to linkgit:git-fetch[1].  <refspec> can name an\n arbitrary remote ref (for example, the name of a tag) or even\n-a collection of refs with corresponding remote tracking branches\n+a collection of refs with corresponding remote-tracking branches\n (e.g., refs/heads/*:refs/remotes/origin/*), but usually it is\n the name of a branch in the remote repository.\n \ndiff --git a/Documentation/git-remote.txt b/Documentation/git-remote.txt\nindex 0d28feb..5e4989d 100644\n--- a/Documentation/git-remote.txt\n+++ b/Documentation/git-remote.txt\n@@ -75,7 +75,7 @@ was passed.\n \n 'rename'::\n \n-Rename the remote named <old> to <new>. All remote tracking branches and\n+Rename the remote named <old> to <new>. All remote-tracking branches and\n configuration settings for the remote are updated.\n +\n In case <old> and <new> are the same, and <old> is a file under\n@@ -84,7 +84,7 @@ the configuration file format.\n \n 'rm'::\n \n-Remove the remote named <name>. All remote tracking branches and\n+Remove the remote named <name>. All remote-tracking branches and\n configuration settings for the remote are removed.\n \n 'set-head'::\ndiff --git a/Documentation/gittutorial.txt b/Documentation/gittutorial.txt\nindex 1c16066..f1f4086 100644\n--- a/Documentation/gittutorial.txt\n+++ b/Documentation/gittutorial.txt\n@@ -385,7 +385,7 @@ alice$ git fetch bob\n \n Unlike the longhand form, when Alice fetches from Bob using a\n remote repository shorthand set up with 'git remote', what was\n-fetched is stored in a remote tracking branch, in this case\n+fetched is stored in a remote-tracking branch, in this case\n `bob/master`.  So after this:\n \n -------------------------------------\ndiff --git a/Documentation/rev-list-options.txt b/Documentation/rev-list-options.txt\nindex 7a42567..7a1b164 100644\n--- a/Documentation/rev-list-options.txt\n+++ b/Documentation/rev-list-options.txt\n@@ -264,7 +264,7 @@ endif::git-rev-list[]\n \n \tPretend as if all the refs in `refs/remotes` are listed\n \ton the command line as '<commit>'. If '<pattern>' is given, limit\n-\tremote tracking branches to ones matching given shell glob.\n+\tremote-tracking branches to ones matching given shell glob.\n \tIf pattern lacks '?', '*', or '[', '/*' at the end is implied.\n \n --glob=<glob-pattern>::\ndiff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt\nindex fc56da6..d5505e8 100644\n--- a/Documentation/user-manual.txt\n+++ b/Documentation/user-manual.txt\n@@ -1700,7 +1700,7 @@ may wish to check the original repository for updates and merge them\n into your own work.\n \n We have already seen <<Updating-a-repository-With-git-fetch,how to\n-keep remote tracking branches up to date>> with linkgit:git-fetch[1],\n+keep remote-tracking branches up to date>> with linkgit:git-fetch[1],\n and how to merge two branches.  So you can merge in changes from the\n original repository's master branch with:\n \ndiff --git a/builtin/checkout.c b/builtin/checkout.c\nindex 9240faf..9a934af 100644\n--- a/builtin/checkout.c\n+++ b/builtin/checkout.c\n@@ -786,7 +786,7 @@ int cmd_checkout(int argc, const char **argv, const char *prefix)\n \t *   With no paths, if <something> is _not_ a commit, no -t nor -b\n \t *   was given, and there is a tracking branch whose name is\n \t *   <something> in one and only one remote, then this is a short-hand\n-\t *   to fork local <something> from that remote tracking branch.\n+\t *   to fork local <something> from that remote-tracking branch.\n \t *\n \t *   Otherwise <something> shall not be ambiguous.\n \t *   - If it's *only* a reference, treat it like case (1).\ndiff --git a/t/t5513-fetch-track.sh b/t/t5513-fetch-track.sh\nindex 9e74862..65d1e05 100755\n--- a/t/t5513-fetch-track.sh\n+++ b/t/t5513-fetch-track.sh\n@@ -1,6 +1,6 @@\n #!/bin/sh\n \n-test_description='fetch follows remote tracking branches correctly'\n+test_description='fetch follows remote-tracking branches correctly'\n \n . ./test-lib.sh\n \n-- \n1.7.3.2.537.g7e355\n"},{"id":"154251","messageId":"1287851481-27952-4-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 03/10] Change remote tracking to remote-tracking in non-trivial places","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-23T16:31:14Z","receivedAt":"2010-10-23T16:31:14Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"To complement the straightforward perl application in previous patch,\nthis adds a few manual changes.\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/everyday.txt    |    6 +++---\n Documentation/git-gc.txt      |    6 +++---\n Documentation/gittutorial.txt |    4 ++--\n t/t5400-send-pack.sh          |    2 +-\n 4 files changed, 9 insertions(+), 9 deletions(-)\n\ndiff --git a/Documentation/everyday.txt b/Documentation/everyday.txt\nindex e0ba8cc..ae413e5 100644\n--- a/Documentation/everyday.txt\n+++ b/Documentation/everyday.txt\n@@ -180,12 +180,12 @@ directory; clone from it to start a repository on the satellite\n machine.\n <2> clone sets these configuration variables by default.\n It arranges `git pull` to fetch and store the branches of mothership\n-machine to local `remotes/origin/*` tracking branches.\n+machine to local `remotes/origin/*` remote-tracking branches.\n <3> arrange `git push` to push local `master` branch to\n `remotes/satellite/master` branch of the mothership machine.\n <4> push will stash our work away on `remotes/satellite/master`\n-tracking branch on the mothership machine.  You could use this as\n-a back-up method.\n+remote-tracking branch on the mothership machine.  You could use this\n+as a back-up method.\n <5> on mothership machine, merge the work done on the satellite\n machine into the master branch.\n \ndiff --git a/Documentation/git-gc.txt b/Documentation/git-gc.txt\nindex 315f07e..801aede 100644\n--- a/Documentation/git-gc.txt\n+++ b/Documentation/git-gc.txt\n@@ -89,7 +89,7 @@ are not part of the current project most users will want to expire\n them sooner.  This option defaults to '30 days'.\n \n The above two configuration variables can be given to a pattern.  For\n-example, this sets non-default expiry values only to remote tracking\n+example, this sets non-default expiry values only to remote-tracking\n branches:\n \n ------------\n@@ -128,8 +128,8 @@ Notes\n \n 'git gc' tries very hard to be safe about the garbage it collects. In\n particular, it will keep not only objects referenced by your current set\n-of branches and tags, but also objects referenced by the index, remote\n-tracking branches, refs saved by 'git filter-branch' in\n+of branches and tags, but also objects referenced by the index,\n+remote-tracking branches, refs saved by 'git filter-branch' in\n refs/original/, or reflogs (which may reference commits in branches\n that were later amended or rewound).\n \ndiff --git a/Documentation/gittutorial.txt b/Documentation/gittutorial.txt\nindex f1f4086..0982f74 100644\n--- a/Documentation/gittutorial.txt\n+++ b/Documentation/gittutorial.txt\n@@ -402,8 +402,8 @@ could merge the changes into her master branch:\n alice$ git merge bob/master\n -------------------------------------\n \n-This `merge` can also be done by 'pulling from her own remote\n-tracking branch', like this:\n+This `merge` can also be done by 'pulling from her own remote-tracking\n+branch', like this:\n \n -------------------------------------\n alice$ git pull . remotes/bob/master\ndiff --git a/t/t5400-send-pack.sh b/t/t5400-send-pack.sh\nindex 5bcf0b8..b0b2684 100755\n--- a/t/t5400-send-pack.sh\n+++ b/t/t5400-send-pack.sh\n@@ -129,7 +129,7 @@ test_expect_success 'denyNonFastforwards trumps --force' '\n \ttest \"$victim_orig\" = \"$victim_head\"\n '\n \n-test_expect_success 'push --all excludes remote tracking hierarchy' '\n+test_expect_success 'push --all excludes remote-tracking hierarchy' '\n \tmkdir parent &&\n \t(\n \t    cd parent &&\n-- \n1.7.3.2.537.g7e355\n"},{"id":"154247","messageId":"1287851481-27952-5-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 04/10] Change \"tracking branch\" to \"remote-tracking branch\"","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-23T16:31:15Z","receivedAt":"2010-10-23T16:31:15Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"One more step towards consistancy in our documentation...\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/config.txt           |    4 ++--\n Documentation/git-fetch.txt        |    2 +-\n Documentation/git-pull.txt         |    6 +++---\n Documentation/git-remote.txt       |    2 +-\n Documentation/git-tag.txt          |    4 ++--\n Documentation/glossary-content.txt |    8 ++++----\n Documentation/user-manual.txt      |    2 +-\n 7 files changed, 14 insertions(+), 14 deletions(-)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex e625d6a..e4f16d8 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -680,7 +680,7 @@ color.branch::\n color.branch.<slot>::\n \tUse customized color for branch coloration. `<slot>` is one of\n \t`current` (the current branch), `local` (a local branch),\n-\t`remote` (a tracking branch in refs/remotes/), `plain` (other\n+\t`remote` (a remote-tracking branch in refs/remotes/), `plain` (other\n \trefs).\n +\n The value for these configuration variables is a list of colors (at most\n@@ -1102,7 +1102,7 @@ gui.newbranchtemplate::\n \tlinkgit:git-gui[1].\n \n gui.pruneduringfetch::\n-\t\"true\" if linkgit:git-gui[1] should prune tracking branches when\n+\t\"true\" if linkgit:git-gui[1] should prune remote-tracking branches when\n \tperforming a fetch. The default value is \"false\".\n \n gui.trustmtime::\ndiff --git a/Documentation/git-fetch.txt b/Documentation/git-fetch.txt\nindex d159e88..c76e313 100644\n--- a/Documentation/git-fetch.txt\n+++ b/Documentation/git-fetch.txt\n@@ -26,7 +26,7 @@ The ref names and their object names of fetched refs are stored\n in `.git/FETCH_HEAD`.  This information is left for a later merge\n operation done by 'git merge'.\n \n-When <refspec> stores the fetched result in tracking branches,\n+When <refspec> stores the fetched result in remote-tracking branches,\n the tags that point at these branches are automatically\n followed.  This is done by first fetching from the remote using\n the given <refspec>s, and if the repository has objects that are\ndiff --git a/Documentation/git-pull.txt b/Documentation/git-pull.txt\nindex 33e8438..54e7013 100644\n--- a/Documentation/git-pull.txt\n+++ b/Documentation/git-pull.txt\n@@ -134,7 +134,7 @@ and if there is not any such variable, the value on `URL: ` line\n in `$GIT_DIR/remotes/<origin>` file is used.\n \n In order to determine what remote branches to fetch (and\n-optionally store in the tracking branches) when the command is\n+optionally store in the remote-tracking branches) when the command is\n run without any refspec parameters on the command line, values\n of the configuration variable `remote.<origin>.fetch` are\n consulted, and if there aren't any, `$GIT_DIR/remotes/<origin>`\n@@ -147,9 +147,9 @@ refs/heads/*:refs/remotes/origin/*\n ------------\n \n A globbing refspec must have a non-empty RHS (i.e. must store\n-what were fetched in tracking branches), and its LHS and RHS\n+what were fetched in remote-tracking branches), and its LHS and RHS\n must end with `/*`.  The above specifies that all remote\n-branches are tracked using tracking branches in\n+branches are tracked using remote-tracking branches in\n `refs/remotes/origin/` hierarchy under the same name.\n \n The rule to determine which remote branch to merge after\ndiff --git a/Documentation/git-remote.txt b/Documentation/git-remote.txt\nindex 5e4989d..c258ea4 100644\n--- a/Documentation/git-remote.txt\n+++ b/Documentation/git-remote.txt\n@@ -146,7 +146,7 @@ With `-n` option, the remote heads are not queried first with\n \n 'prune'::\n \n-Deletes all stale tracking branches under <name>.\n+Deletes all stale remote-tracking branches under <name>.\n These stale branches have already been removed from the remote repository\n referenced by <name>, but are still locally available in\n \"remotes/<name>\".\ndiff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt\nindex 31c78a8..8b169e3 100644\n--- a/Documentation/git-tag.txt\n+++ b/Documentation/git-tag.txt\n@@ -177,7 +177,7 @@ On Automatic following\n ~~~~~~~~~~~~~~~~~~~~~~\n \n If you are following somebody else's tree, you are most likely\n-using tracking branches (`refs/heads/origin` in traditional\n+using remote-tracking branches (`refs/heads/origin` in traditional\n layout, or `refs/remotes/origin/master` in the separate-remote\n layout).  You usually want the tags from the other end.\n \n@@ -232,7 +232,7 @@ this case.\n It may well be that among networking people, they may want to\n exchange the tags internal to their group, but in that workflow\n they are most likely tracking with each other's progress by\n-having tracking branches.  Again, the heuristic to automatically\n+having remote-tracking branches.  Again, the heuristic to automatically\n follow such tags is a good thing.\n \n \ndiff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt\nindex 1f029f8..a76de62 100644\n--- a/Documentation/glossary-content.txt\n+++ b/Documentation/glossary-content.txt\n@@ -131,7 +131,7 @@ to point at the new commit.\n \tyou have. In such these cases, you do not make a new <<def_merge,merge>>\n \t<<def_commit,commit>> but instead just update to his\n \trevision. This will happen frequently on a\n-\t<<def_tracking_branch,tracking branch>> of a remote\n+\t<<def_remote_tracking_branch,remote-tracking branch>> of a remote\n \t<<def_repository,repository>>.\n \n [[def_fetch]]fetch::\n@@ -260,7 +260,7 @@ This commit is referred to as a \"merge commit\", or sometimes just a\n \tThe default upstream <<def_repository,repository>>. Most projects have\n \tat least one upstream project which they track. By default\n \t'origin' is used for that purpose. New upstream updates\n-\twill be fetched into remote <<def_tracking_branch,tracking branches>> named\n+\twill be fetched into remote <<def_remote_tracking_branch,remote-tracking branches>> named\n \torigin/name-of-upstream-branch, which you can see using\n \t`git branch -r`.\n \n@@ -418,11 +418,11 @@ This commit is referred to as a \"merge commit\", or sometimes just a\n \tthat each contain very well defined concepts or small incremental yet\n \trelated changes.\n \n-[[def_tracking_branch]]tracking branch::\n+[[def_remote_tracking_branch]]remote-tracking branch::\n \tA regular git <<def_branch,branch>> that is used to follow changes from\n \tanother <<def_repository,repository>>. A tracking\n \tbranch should not contain direct modifications or have local commits\n-\tmade to it. A tracking branch can usually be\n+\tmade to it. A remote-tracking branch can usually be\n \tidentified as the right-hand-side <<def_ref,ref>> in a Pull:\n \t<<def_refspec,refspec>>.\n \ndiff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt\nindex d5505e8..d7835ca 100644\n--- a/Documentation/user-manual.txt\n+++ b/Documentation/user-manual.txt\n@@ -435,7 +435,7 @@ linux-nfs/master\n origin/master\n -------------------------------------------------\n \n-If you run \"git fetch <remote>\" later, the tracking branches for the\n+If you run \"git fetch <remote>\" later, the remote-tracking branches for the\n named <remote> will be updated.\n \n If you examine the file .git/config, you will see that git has added\n-- \n1.7.3.2.537.g7e355\n"},{"id":"154250","messageId":"1287851481-27952-6-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 05/10] Change \"tracking branch\" to \"remote-tracking branch\" in C code","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-23T16:31:16Z","receivedAt":"2010-10-23T16:31:16Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"(Just like we did for documentation already)\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n builtin/checkout.c |    2 +-\n builtin/fetch.c    |    4 ++--\n remote.c           |    2 +-\n 3 files changed, 4 insertions(+), 4 deletions(-)\n\ndiff --git a/builtin/checkout.c b/builtin/checkout.c\nindex 9a934af..1fa9ce4 100644\n--- a/builtin/checkout.c\n+++ b/builtin/checkout.c\n@@ -784,7 +784,7 @@ int cmd_checkout(int argc, const char **argv, const char *prefix)\n \t *   between A and B, A...B names that merge base.\n \t *\n \t *   With no paths, if <something> is _not_ a commit, no -t nor -b\n-\t *   was given, and there is a tracking branch whose name is\n+\t *   was given, and there is a remote-tracking branch whose name is\n \t *   <something> in one and only one remote, then this is a short-hand\n \t *   to fork local <something> from that remote-tracking branch.\n \t *\ndiff --git a/builtin/fetch.c b/builtin/fetch.c\nindex d35f000..3b0b614 100644\n--- a/builtin/fetch.c\n+++ b/builtin/fetch.c\n@@ -52,7 +52,7 @@ static struct option builtin_fetch_options[] = {\n \tOPT_SET_INT('n', NULL, &tags,\n \t\t    \"do not fetch all tags (--no-tags)\", TAGS_UNSET),\n \tOPT_BOOLEAN('p', \"prune\", &prune,\n-\t\t    \"prune tracking branches no longer on remote\"),\n+\t\t    \"prune remote-tracking branches no longer on remote\"),\n \tOPT_BOOLEAN(0, \"dry-run\", &dry_run,\n \t\t    \"dry run\"),\n \tOPT_BOOLEAN('k', \"keep\", &keep, \"keep downloaded pack\"),\n@@ -98,7 +98,7 @@ static void add_merge_config(struct ref **head,\n \t\t\tcontinue;\n \n \t\t/*\n-\t\t * Not fetched to a tracking branch?  We need to fetch\n+\t\t * Not fetched to a remote-tracking branch?  We need to fetch\n \t\t * it anyway to allow this branch's \"branch.$name.merge\"\n \t\t * to be honored by 'git pull', but we do not have to\n \t\t * fail if branch.$name.merge is misconfigured to point\ndiff --git a/remote.c b/remote.c\nindex 9143ec7..ca42a12 100644\n--- a/remote.c\n+++ b/remote.c\n@@ -493,7 +493,7 @@ static void read_config(void)\n }\n \n /*\n- * We need to make sure the tracking branches are well formed, but a\n+ * We need to make sure the remote-tracking branches are well formed, but a\n  * wildcard refspec in \"struct refspec\" must have a trailing slash. We\n  * temporarily drop the trailing '/' while calling check_ref_format(),\n  * and put it back.  The caller knows that a CHECK_REF_FORMAT_ONELEVEL\n-- \n1.7.3.2.537.g7e355\n"},{"id":"154253","messageId":"1287851481-27952-7-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 06/10] Change incorrect uses of \"remote branch\" meaning \"remote-tracking\"","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-23T16:31:17Z","receivedAt":"2010-10-23T16:31:17Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"\"remote branch\" is a branch hosted in a remote repository, while\n\"remote-tracking branch\" is a copy of such branch, hosted locally.\nThe distinction is subtle when the copy is up-to-date, but rather\nfundamental to understand what \"git fetch\" and \"git push\" do.\n\nThis patch should fix all incorrect usages in Documentation/ directory.\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/config.txt       |    7 ++++---\n Documentation/git-branch.txt   |   11 ++++++-----\n Documentation/git-checkout.txt |    2 +-\n Documentation/git-clone.txt    |    2 +-\n Documentation/git-describe.txt |    2 +-\n Documentation/user-manual.txt  |    9 +++++----\n 6 files changed, 18 insertions(+), 15 deletions(-)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex e4f16d8..6a6c0b5 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -601,8 +601,9 @@ branch.autosetupmerge::\n \tthis behavior can be chosen per-branch using the `--track`\n \tand `--no-track` options. The valid settings are: `false` -- no\n \tautomatic setup is done; `true` -- automatic setup is done when the\n-\tstarting point is a remote branch; `always` -- automatic setup is\n-\tdone when the starting point is either a local branch or remote\n+\tstarting point is a remote-tracking branch; `always` --\n+\tautomatic setup is done when the starting point is either a\n+\tlocal branch or remote-tracking\n \tbranch. This option defaults to true.\n \n branch.autosetuprebase::\n@@ -613,7 +614,7 @@ branch.autosetuprebase::\n \tWhen `local`, rebase is set to true for tracked branches of\n \tother local branches.\n \tWhen `remote`, rebase is set to true for tracked branches of\n-\tremote branches.\n+\tremote-tracking branches.\n \tWhen `always`, rebase will be set to true for all tracking\n \tbranches.\n \tSee \"branch.autosetupmerge\" for details on how to set up a\ndiff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt\nindex 1940256..7f23c56 100644\n--- a/Documentation/git-branch.txt\n+++ b/Documentation/git-branch.txt\n@@ -37,9 +37,9 @@ Note that this will create the new branch, but it will not switch the\n working tree to it; use \"git checkout <newbranch>\" to switch to the\n new branch.\n \n-When a local branch is started off a remote branch, git sets up the\n+When a local branch is started off a remote-tracking branch, git sets up the\n branch so that 'git pull' will appropriately merge from\n-the remote branch. This behavior may be changed via the global\n+the remote-tracking branch. This behavior may be changed via the global\n `branch.autosetupmerge` configuration flag. That setting can be\n overridden by using the `--track` and `--no-track` options.\n \n@@ -89,7 +89,8 @@ OPTIONS\n \tMove/rename a branch even if the new branch name already exists.\n \n --color[=<when>]::\n-\tColor branches to highlight current, local, and remote branches.\n+\tColor branches to highlight current, local, and\n+\tremote-tracking branches.\n \tThe value must be always (the default), never, or auto.\n \n --no-color::\n@@ -125,11 +126,11 @@ OPTIONS\n \tit directs `git pull` without arguments to pull from the\n \tupstream when the new branch is checked out.\n +\n-This behavior is the default when the start point is a remote branch.\n+This behavior is the default when the start point is a remote-tracking branch.\n Set the branch.autosetupmerge configuration variable to `false` if you\n want `git checkout` and `git branch` to always behave as if '--no-track'\n were given. Set it to `always` if you want this behavior when the\n-start-point is either a local or remote branch.\n+start-point is either a local or remote-tracking branch.\n \n --no-track::\n \tDo not set up \"upstream\" configuration, even if the\ndiff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt\nindex 22d3611..880763d 100644\n--- a/Documentation/git-checkout.txt\n+++ b/Documentation/git-checkout.txt\n@@ -98,7 +98,7 @@ entries; instead, unmerged entries are ignored.\n \t\"--track\" in linkgit:git-branch[1] for details.\n +\n If no '-b' option is given, the name of the new branch will be\n-derived from the remote branch.  If \"remotes/\" or \"refs/remotes/\"\n+derived from the remote-tracking branch.  If \"remotes/\" or \"refs/remotes/\"\n is prefixed it is stripped away, and then the part up to the\n next slash (which would be the nickname of the remote) is removed.\n This would tell us to use \"hack\" as the local branch when branching\ndiff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt\nindex ab72933..2320382 100644\n--- a/Documentation/git-clone.txt\n+++ b/Documentation/git-clone.txt\n@@ -131,7 +131,7 @@ objects from the source repository into a pack in the cloned repository.\n \tSet up a mirror of the source repository.  This implies `--bare`.\n \tCompared to `--bare`, `--mirror` not only maps local branches of the\n \tsource to local branches of the target, it maps all refs (including\n-\tremote branches, notes etc.) and sets up a refspec configuration such\n+\tremote-tracking branches, notes etc.) and sets up a refspec configuration such\n \tthat all these refs are overwritten by a `git remote update` in the\n \ttarget repository.\n \ndiff --git a/Documentation/git-describe.txt b/Documentation/git-describe.txt\nindex 7ef9d51..02e015a 100644\n--- a/Documentation/git-describe.txt\n+++ b/Documentation/git-describe.txt\n@@ -37,7 +37,7 @@ OPTIONS\n --all::\n \tInstead of using only the annotated tags, use any ref\n \tfound in `.git/refs/`.  This option enables matching\n-\tany known branch, remote branch, or lightweight tag.\n+\tany known branch, remote-tracking branch, or lightweight tag.\n \n --tags::\n \tInstead of using only the annotated tags, use any tag\ndiff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt\nindex d7835ca..d70f3e0 100644\n--- a/Documentation/user-manual.txt\n+++ b/Documentation/user-manual.txt\n@@ -1724,7 +1724,8 @@ accomplish the above with just a simple\n $ git pull\n -------------------------------------------------\n \n-More generally, a branch that is created from a remote branch will pull\n+More generally, a branch that is created from a remote-tracking branch\n+will pull\n by default from that branch.  See the descriptions of the\n branch.<name>.remote and branch.<name>.merge options in\n linkgit:git-config[1], and the discussion of the `--track` option in\n@@ -2106,7 +2107,7 @@ $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git\n $ cd work\n -------------------------------------------------\n \n-Linus's tree will be stored in the remote branch named origin/master,\n+Linus's tree will be stored in the remote-tracking branch named origin/master,\n and can be updated using linkgit:git-fetch[1]; you can track other\n public trees using linkgit:git-remote[1] to set up a \"remote\" and\n linkgit:git-fetch[1] to keep them up-to-date; see\n@@ -2800,8 +2801,8 @@ Be aware that commits that the old version of example/master pointed at\n may be lost, as we saw in the previous section.\n \n [[remote-branch-configuration]]\n-Configuring remote branches\n----------------------------\n+Configuring remote-tracking branches\n+------------------------------------\n \n We saw above that \"origin\" is just a shortcut to refer to the\n repository that you originally cloned from.  This information is\n-- \n1.7.3.2.537.g7e355\n"},{"id":"154254","messageId":"1287851481-27952-8-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 07/10] Change incorrect \"remote branch\" to \"remote tracking branch\" in C code","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-23T16:31:18Z","receivedAt":"2010-10-23T16:31:18Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"(Just like we did for documentation already)\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n branch.h                               |    2 +-\n builtin/fetch.c                        |    2 +-\n builtin/remote.c                       |    6 +++---\n contrib/examples/builtin-fetch--tool.c |    2 +-\n t/t5505-remote.sh                      |    6 +++---\n t/t7608-merge-messages.sh              |    2 +-\n 6 files changed, 10 insertions(+), 10 deletions(-)\n\ndiff --git a/branch.h b/branch.h\nindex eed817a..2004632 100644\n--- a/branch.h\n+++ b/branch.h\n@@ -22,7 +22,7 @@ void create_branch(const char *head, const char *name, const char *start_name,\n void remove_branch_state(void);\n \n /*\n- * Configure local branch \"local\" to merge remote branch \"remote\"\n+ * Configure local branch \"local\" to merge remote-tracking branch \"remote\"\n  * taken from origin \"origin\".\n  */\n #define BRANCH_CONFIG_VERBOSE 01\ndiff --git a/builtin/fetch.c b/builtin/fetch.c\nindex 3b0b614..4243ef0 100644\n--- a/builtin/fetch.c\n+++ b/builtin/fetch.c\n@@ -359,7 +359,7 @@ static int store_updated_refs(const char *raw_url, const char *remote_name,\n \t\t\twhat = rm->name + 10;\n \t\t}\n \t\telse if (!prefixcmp(rm->name, \"refs/remotes/\")) {\n-\t\t\tkind = \"remote branch\";\n+\t\t\tkind = \"remote-tracking branch\";\n \t\t\twhat = rm->name + 13;\n \t\t}\n \t\telse {\ndiff --git a/builtin/remote.c b/builtin/remote.c\nindex e9a6e09..4149e30 100644\n--- a/builtin/remote.c\n+++ b/builtin/remote.c\n@@ -507,7 +507,7 @@ static int add_branch_for_removal(const char *refname,\n \t\t\treturn 0;\n \t}\n \n-\t/* don't delete non-remote refs */\n+\t/* don't delete non-remote-tracking refs */\n \tif (prefixcmp(refname, \"refs/remotes\")) {\n \t\t/* advise user how to delete local branches */\n \t\tif (!prefixcmp(refname, \"refs/heads/\"))\n@@ -791,9 +791,9 @@ static int rm(int argc, const char **argv)\n \n \tif (skipped.nr) {\n \t\tfprintf(stderr, skipped.nr == 1 ?\n-\t\t\t\"Note: A non-remote branch was not removed; \"\n+\t\t\t\"Note: A non-remote-tracking branch was not removed; \"\n \t\t\t\"to delete it, use:\\n\" :\n-\t\t\t\"Note: Non-remote branches were not removed; \"\n+\t\t\t\"Note: Non-remote-tracking branches were not removed; \"\n \t\t\t\"to delete them, use:\\n\");\n \t\tfor (i = 0; i < skipped.nr; i++)\n \t\t\tfprintf(stderr, \"  git branch -d %s\\n\",\ndiff --git a/contrib/examples/builtin-fetch--tool.c b/contrib/examples/builtin-fetch--tool.c\nindex cd10dbc..3140e40 100644\n--- a/contrib/examples/builtin-fetch--tool.c\n+++ b/contrib/examples/builtin-fetch--tool.c\n@@ -148,7 +148,7 @@ static int append_fetch_head(FILE *fp,\n \t\twhat = remote_name + 10;\n \t}\n \telse if (!strncmp(remote_name, \"refs/remotes/\", 13)) {\n-\t\tkind = \"remote branch\";\n+\t\tkind = \"remote-tracking branch\";\n \t\twhat = remote_name + 13;\n \t}\n \telse {\ndiff --git a/t/t5505-remote.sh b/t/t5505-remote.sh\nindex 5d1c66e..48eeba3 100755\n--- a/t/t5505-remote.sh\n+++ b/t/t5505-remote.sh\n@@ -107,16 +107,16 @@ test_expect_success 'remove remote' '\n )\n '\n \n-test_expect_success 'remove remote protects non-remote branches' '\n+test_expect_success 'remove remote protects non-remote-tracking branches' '\n (\n \tcd test &&\n \t{ cat >expect1 <<EOF\n-Note: A non-remote branch was not removed; to delete it, use:\n+Note: A non-remote-tracking branch was not removed; to delete it, use:\n   git branch -d master\n EOF\n \t} &&\n \t{ cat >expect2 <<EOF\n-Note: Non-remote branches were not removed; to delete them, use:\n+Note: Non-remote-tracking branches were not removed; to delete them, use:\n   git branch -d foobranch\n   git branch -d master\n EOF\ndiff --git a/t/t7608-merge-messages.sh b/t/t7608-merge-messages.sh\nindex 28d5679..1c71296 100755\n--- a/t/t7608-merge-messages.sh\n+++ b/t/t7608-merge-messages.sh\n@@ -47,7 +47,7 @@ test_expect_success 'ambiguous tag' '\n \tcheck_oneline \"Merge commit QambiguousQ\"\n '\n \n-test_expect_success 'remote branch' '\n+test_expect_success 'remote-tracking branch' '\n \tgit checkout -b remote master &&\n \ttest_commit remote-1 &&\n \tgit update-ref refs/remotes/origin/master remote &&\n-- \n1.7.3.2.537.g7e355\n"},{"id":"154257","messageId":"1287851481-27952-9-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 08/10] Use 'remote-tracking branch' in generated merge messages","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-23T16:31:19Z","receivedAt":"2010-10-23T16:31:19Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n builtin/fmt-merge-msg.c           |    6 +++---\n builtin/merge.c                   |    2 +-\n t/t1507-rev-parse-upstream.sh     |    2 +-\n t/t3409-rebase-preserve-merges.sh |    2 +-\n t/t7608-merge-messages.sh         |    2 +-\n 5 files changed, 7 insertions(+), 7 deletions(-)\n\ndiff --git a/builtin/fmt-merge-msg.c b/builtin/fmt-merge-msg.c\nindex 78c7774..5189b16 100644\n--- a/builtin/fmt-merge-msg.c\n+++ b/builtin/fmt-merge-msg.c\n@@ -100,8 +100,8 @@ static int handle_line(char *line)\n \t\torigin = line;\n \t\tstring_list_append(&src_data->tag, origin + 4);\n \t\tsrc_data->head_status |= 2;\n-\t} else if (!prefixcmp(line, \"remote branch \")) {\n-\t\torigin = line + 14;\n+\t} else if (!prefixcmp(line, \"remote-tracking branch \")) {\n+\t\torigin = line + strlen(\"remote-tracking branch \");\n \t\tstring_list_append(&src_data->r_branch, origin);\n \t\tsrc_data->head_status |= 2;\n \t} else {\n@@ -233,7 +233,7 @@ static void do_fmt_merge_msg_title(struct strbuf *out,\n \t\tif (src_data->r_branch.nr) {\n \t\t\tstrbuf_addstr(out, subsep);\n \t\t\tsubsep = \", \";\n-\t\t\tprint_joined(\"remote branch \", \"remote branches \",\n+\t\t\tprint_joined(\"remote-tracking branch \", \"remote-tracking branches \",\n \t\t\t\t\t&src_data->r_branch, out);\n \t\t}\n \t\tif (src_data->tag.nr) {\ndiff --git a/builtin/merge.c b/builtin/merge.c\nindex 10f091b..9ec13f1 100644\n--- a/builtin/merge.c\n+++ b/builtin/merge.c\n@@ -403,7 +403,7 @@ static void merge_name(const char *remote, struct strbuf *msg)\n \t\t\tgoto cleanup;\n \t\t}\n \t\tif (!prefixcmp(found_ref, \"refs/remotes/\")) {\n-\t\t\tstrbuf_addf(msg, \"%s\\t\\tremote branch '%s' of .\\n\",\n+\t\t\tstrbuf_addf(msg, \"%s\\t\\tremote-tracking branch '%s' of .\\n\",\n \t\t\t\t    sha1_to_hex(branch_head), remote);\n \t\t\tgoto cleanup;\n \t\t}\ndiff --git a/t/t1507-rev-parse-upstream.sh b/t/t1507-rev-parse-upstream.sh\nindex 8c8dfda..a455551 100755\n--- a/t/t1507-rev-parse-upstream.sh\n+++ b/t/t1507-rev-parse-upstream.sh\n@@ -85,7 +85,7 @@ test_expect_success 'merge my-side@{u} records the correct name' '\n \tgit branch -t new my-side@{u} &&\n \tgit merge -s ours new@{u} &&\n \tgit show -s --pretty=format:%s >actual &&\n-\techo \"Merge remote branch ${sq}origin/side${sq}\" >expect &&\n+\techo \"Merge remote-tracking branch ${sq}origin/side${sq}\" >expect &&\n \ttest_cmp expect actual\n )\n '\ndiff --git a/t/t3409-rebase-preserve-merges.sh b/t/t3409-rebase-preserve-merges.sh\nindex 74161a4..19341e5 100755\n--- a/t/t3409-rebase-preserve-merges.sh\n+++ b/t/t3409-rebase-preserve-merges.sh\n@@ -72,7 +72,7 @@ test_expect_success 'rebase -p fakes interactive rebase' '\n \tgit fetch &&\n \tgit rebase -p origin/topic &&\n \ttest 1 = $(git rev-list --all --pretty=oneline | grep \"Modify A\" | wc -l) &&\n-\ttest 1 = $(git rev-list --all --pretty=oneline | grep \"Merge remote branch \" | wc -l)\n+\ttest 1 = $(git rev-list --all --pretty=oneline | grep \"Merge remote-tracking branch \" | wc -l)\n \t)\n '\n \ndiff --git a/t/t7608-merge-messages.sh b/t/t7608-merge-messages.sh\nindex 1c71296..9225fa6 100755\n--- a/t/t7608-merge-messages.sh\n+++ b/t/t7608-merge-messages.sh\n@@ -54,7 +54,7 @@ test_expect_success 'remote-tracking branch' '\n \tgit checkout master &&\n \ttest_commit master-5 &&\n \tgit merge origin/master &&\n-\tcheck_oneline \"Merge remote branch Qorigin/masterQ\"\n+\tcheck_oneline \"Merge remote-tracking branch Qorigin/masterQ\"\n '\n \n test_done\n-- \n1.7.3.2.537.g7e355\n"},{"id":"154249","messageId":"1287851481-27952-10-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 09/10] user-manual.txt: explain better the remote(-tracking) branch terms","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-23T16:31:20Z","receivedAt":"2010-10-23T16:31:20Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"Now that the documentation is mostly consistant in the use of \"remote\nbranch\" Vs \"remote-tracking branch\", let's make this distinction explicit\nearly in the user-manual.\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/user-manual.txt |    9 +++++++++\n 1 files changed, 9 insertions(+), 0 deletions(-)\n\ndiff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt\nindex d70f3e0..02126f1 100644\n--- a/Documentation/user-manual.txt\n+++ b/Documentation/user-manual.txt\n@@ -359,6 +359,11 @@ $ git branch -r\n   origin/todo\n ------------------------------------------------\n \n+In this case, \"origin\" is called a remote repository, or \"remote\" for\n+short. The branches of this repository are called \"remote branches\"\n+from our point of view, and Git will maintain a copy of these\n+branches, called \"remote-tracking branches\" in the local repository.\n+\n You cannot check out these remote-tracking branches, but you can\n examine them on a branch of your own, just as you would a tag:\n \n@@ -1716,6 +1721,10 @@ one step:\n $ git pull origin master\n -------------------------------------------------\n \n+This command will fetch the changes from the remote branch to your\n+remote-tracking branch `origin/master`, and merge the result in the\n+current branch.\n+\n In fact, if you have \"master\" checked out, then by default \"git pull\"\n merges from the HEAD branch of the origin repository.  So often you can\n accomplish the above with just a simple\n-- \n1.7.3.2.537.g7e355\n"},{"id":"154248","messageId":"1287851481-27952-11-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 10/10] git-branch.txt: mention --set-upstream as a way to change upstream configuration","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-23T16:31:21Z","receivedAt":"2010-10-23T16:31:21Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/git-branch.txt |    3 ++-\n 1 files changed, 2 insertions(+), 1 deletions(-)\n\ndiff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt\nindex 7f23c56..9106d38 100644\n--- a/Documentation/git-branch.txt\n+++ b/Documentation/git-branch.txt\n@@ -41,7 +41,8 @@ When a local branch is started off a remote-tracking branch, git sets up the\n branch so that 'git pull' will appropriately merge from\n the remote-tracking branch. This behavior may be changed via the global\n `branch.autosetupmerge` configuration flag. That setting can be\n-overridden by using the `--track` and `--no-track` options.\n+overridden by using the `--track` and `--no-track` options, and\n+changed later using `git branch --set-upstream`.\n \n With a '-m' or '-M' option, <oldbranch> will be renamed to <newbranch>.\n If <oldbranch> had a corresponding reflog, it is renamed to match\n-- \n1.7.3.2.537.g7e355\n"},{"id":"154262","messageId":"20101023181350.GA21040@burratino","threadId":"25535","inReplyTo":"1287851481-27952-2-git-send-email-Matthieu.Moy@imag.fr","subject":"Re: [PATCH 01/10] Better \"Changed but not updated\" message in git-status","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2010-10-23T18:13:50Z","receivedAt":"2010-10-23T18:13:50Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Matthieu Moy wrote:\n\n> --- a/Documentation/gittutorial-2.txt\n> +++ b/Documentation/gittutorial-2.txt\n> @@ -373,7 +373,7 @@ $ git status\n>  #\n>  #       new file: closing.txt\n>  #\n> -# Changed but not updated:\n> +# Changed but not staged for commit:\n>  #   (use \"git add <file>...\" to update what will be committed)\n\nI find this even more confusing, though I admit that may be due to\nhabit more than anything else.\n\nMy reading, before:\n\n\tThese files were changed, but the version to be committed has\n\tnot been updated to include the latest changes (use \"git add\n\t<file>...\" to add these changes to the index).\n\nAfterwards:\n\n\tThese files were changed, but they are not staged for the\n\tnext commit.\n\nIf I do\n\n\techo hello >hi.c\n\tgit add hi.c\n\techo world >>hi.c\n\tgit status\n\nthen what does it mean to say \"hi.c\" is not staged for commit?\nIt actually does have changes ready for committing.\n\nI would prefer to say something to the effect of\n\n\t# Has unstaged changes:\n\nAnyone wordsmiths out there with ideas to make this clearer?\n"},{"id":"154277","messageId":"20101023181650.GB21040@burratino","threadId":"25535","inReplyTo":"1287851481-27952-3-git-send-email-Matthieu.Moy@imag.fr","subject":"Re: [PATCH 02/10] Remplace \"remote tracking\" with \"remote-tracking\"","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2010-10-23T18:16:50Z","receivedAt":"2010-10-23T18:16:50Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Matthieu Moy wrote:\n\n> [Subject: [PATCH 02/10] Remplace \"remote tracking\" with \"remote-tracking\"]\n\nI think you mean \"Replace\". :)\n\n> \"remote-tracking\" branch makes it explicit that the branch is \"tracking a\n> remote\", as opposed to \"remote, and tracking something\".\n\nAll changes in this patch look good to me, for what it's worth.\n"},{"id":"154264","messageId":"20101023183120.GF21040@burratino","threadId":"25535","inReplyTo":"1287851481-27952-3-git-send-email-Matthieu.Moy@imag.fr","subject":"Re: [PATCH 02/10] Remplace \"remote tracking\" with \"remote-tracking\"","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2010-10-23T18:31:20Z","receivedAt":"2010-10-23T18:31:20Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Matthieu Moy wrote:\n\n> [Subject: [PATCH 02/10] Remplace \"remote tracking\" with \"remote-tracking\"]\n\nI think this should say \"Replace\".\n\n> \"remote-tracking\" branch makes it explicit that the branch is \"tracking a\n> remote\", as opposed to \"remote, and tracking something\".\n\nAll changes in this patch look good to me, for what it's worth.\n"},{"id":"154263","messageId":"vpqeibgn4hu.fsf@bauges.imag.fr","threadId":"25535","inReplyTo":"20101023181350.GA21040@burratino","subject":"Re: [PATCH 01/10] Better \"Changed but not updated\" message in git-status","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2010-10-23T18:33:33Z","receivedAt":"2010-10-23T18:33:33Z","isPatch":true,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Jonathan Nieder <jrnieder@gmail.com> writes:\n\n> Matthieu Moy wrote:\n>\n>> --- a/Documentation/gittutorial-2.txt\n>> +++ b/Documentation/gittutorial-2.txt\n>> @@ -373,7 +373,7 @@ $ git status\n>>  #\n>>  #       new file: closing.txt\n>>  #\n>> -# Changed but not updated:\n>> +# Changed but not staged for commit:\n>>  #   (use \"git add <file>...\" to update what will be committed)\n>\n> I find this even more confusing, though I admit that may be due to\n> habit more than anything else.\n>\n> My reading, before:\n>\n> \tThese files were changed, but the version to be committed has\n> \tnot been updated to include the latest changes (use \"git add\n> \t<file>...\" to add these changes to the index).\n>\n> Afterwards:\n>\n> \tThese files were changed, but they are not staged for the\n> \tnext commit.\n\nI don't see what \"git status\" lists as \"files\", but more as \"changes\".\nActually, the header for staged commit agrees with me:\n\n  # Changes to be committed:\n\nSo, while these _files_ may have staged changes, the modifications\nthemselves are not commited.\n\n> I would prefer to say something to the effect of\n>\n> \t# Has unstaged changes:\n\nI'm fine with that if people prefer it. Otherwise, I propose:\n\n  # Changes not staged for commit:\n\nwhich would give some symetry in the complete output:\n\n  # Changes to be committed:\n  #\n  #       modified:   foo.txt\n  #\n  # Changes not staged for commit:\n  #\n  #       modified:   foo.txt\n  #\n\nWhich one do you like best?\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"154266","messageId":"20101023184429.GG21040@burratino","threadId":"25535","inReplyTo":"1287851481-27952-4-git-send-email-Matthieu.Moy@imag.fr","subject":"Re: [PATCH 03/10] Change remote tracking to remote-tracking in non-trivial places","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2010-10-23T18:44:29Z","receivedAt":"2010-10-23T18:44:29Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Matthieu Moy wrote:\n\n> --- a/Documentation/everyday.txt\n> +++ b/Documentation/everyday.txt\n> @@ -180,12 +180,12 @@ directory; clone from it to start a repository on the satellite\n>  machine.\n>  <2> clone sets these configuration variables by default.\n>  It arranges `git pull` to fetch and store the branches of mothership\n> -machine to local `remotes/origin/*` tracking branches.\n> +machine to local `remotes/origin/*` remote-tracking branches.\n\nI find this scans better as \"tracking branches\", but consistent use of\njargon might trump that.  Maybe it could be reworded somehow?\n\n\t<2> clone sets these configuration variables by default.\n\tThey arrange for `git pull` to fetch and store the branches\n\tof the mothership machine to local `remotes/origin/*` tracking\n\trefs.\n\nNot sure.  remotes/origin/* are not branches for local development, so\ncalling them \"branches\" without a \"remote-tracking\" caveat can be\nconfusing.\n\n> --- a/Documentation/git-gc.txt\n> +++ b/Documentation/git-gc.txt\n> @@ -89,7 +89,7 @@ are not part of the current project most users will want to expire\n>  them sooner.  This option defaults to '30 days'.\n>  \n>  The above two configuration variables can be given to a pattern.  For\n> -example, this sets non-default expiry values only to remote tracking\n> +example, this sets non-default expiry values only to remote-tracking\n>  branches:\n\nThe rest of the changes in this patch would have been caught by the\n\"perl -pi ...\" command, except line wrapping got in the way.  They are\nobviously good.\n"},{"id":"154268","messageId":"20101023184853.GH21040@burratino","threadId":"25535","inReplyTo":"1287851481-27952-5-git-send-email-Matthieu.Moy@imag.fr","subject":"Re: [PATCH 04/10] Change \"tracking branch\" to \"remote-tracking branch\"","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2010-10-23T18:48:53Z","receivedAt":"2010-10-23T18:48:53Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Matthieu Moy wrote:\n\n> --- a/Documentation/glossary-content.txt\n> +++ b/Documentation/glossary-content.txt\n> @@ -131,7 +131,7 @@ to point at the new commit.\n>  \tyou have. In such these cases, you do not make a new <<def_merge,merge>>\n>  \t<<def_commit,commit>> but instead just update to his\n>  \trevision. This will happen frequently on a\n> -\t<<def_tracking_branch,tracking branch>> of a remote\n> +\t<<def_remote_tracking_branch,remote-tracking branch>> of a remote\n>  \t<<def_repository,repository>>.\n\nWhy not keep the anchor name, like so:\n\n\t<<def_tracking_branch,remote-tracking branch>>\n\n(for brevity and to keep old links valid)?\n"},{"id":"154269","messageId":"20101023185112.GI21040@burratino","threadId":"25535","inReplyTo":"1287851481-27952-6-git-send-email-Matthieu.Moy@imag.fr","subject":"Re: [PATCH 05/10] Change \"tracking branch\" to \"remote-tracking branch\" in C code","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2010-10-23T18:51:12Z","receivedAt":"2010-10-23T18:51:12Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Matthieu Moy wrote:\n\n> [Subject: [PATCH 05/10] Change \"tracking branch\" to \"remote-tracking branch\" in C code]\n>\n> (Just like we did for documentation already)\n\nCould be squashed with the previous in my opinion.  Comments\nespecially but also usage strings still feel like documentation.\n"},{"id":"154270","messageId":"m3k4l8kaeg.fsf@localhost.localdomain","threadId":"25535","inReplyTo":"20101023181350.GA21040@burratino","subject":"Re: [PATCH 01/10] Better \"Changed but not updated\" message in git-status","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2010-10-23T18:55:13Z","receivedAt":"2010-10-23T18:55:13Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Jonathan Nieder <jrnieder@gmail.com> writes:\n> Matthieu Moy wrote:\n> \n> > --- a/Documentation/gittutorial-2.txt\n> > +++ b/Documentation/gittutorial-2.txt\n> > @@ -373,7 +373,7 @@ $ git status\n> >  #\n> >  #       new file: closing.txt\n> >  #\n> > -# Changed but not updated:\n> > +# Changed but not staged for commit:\n> >  #   (use \"git add <file>...\" to update what will be committed)\n> \n> I find this even more confusing, though I admit that may be due to\n> habit more than anything else.\n\nPerhaps\n\n     # Changed but changes not staged for commit:\n \n> My reading, before:\n> \n> \tThese files were changed, but the version to be committed has\n> \tnot been updated to include the latest changes (use \"git add\n> \t<file>...\" to add these changes to the index).\n> \n> Afterwards:\n> \n> \tThese files were changed, but they are not staged for the\n> \tnext commit.\n> \n> If I do\n> \n> \techo hello >hi.c\n> \tgit add hi.c\n> \techo world >>hi.c\n> \tgit status\n> \n> then what does it mean to say \"hi.c\" is not staged for commit?\n> It actually does have changes ready for committing.\n> \n> I would prefer to say something to the effect of\n> \n> \t# Has unstaged changes:\n> \n> Anyone wordsmiths out there with ideas to make this clearer?\n\nBut this might be a better solution.\n\n-- \nJakub Narebski\nPoland\nShadeHawk on #git\n"},{"id":"154271","messageId":"m3fwvwkadi.fsf@localhost.localdomain","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"Re: [PATCH 00/11] More consistant terminology (\"remote-tracking branch\", \"not updated\")","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2010-10-23T18:55:35Z","receivedAt":"2010-10-23T18:55:35Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Matthieu Moy <Matthieu.Moy@imag.fr> writes:\n\n> Following the discussion in\n> \n> http://thread.gmane.org/gmane.comp.version-control.git/159287/\n> http://thread.gmane.org/gmane.comp.version-control.git/159287/focus=159288\n> \n> this is an attempt to be more consistant in the terminology used in Git.\n\nThank you very much for your work!\n\n-- \nJakub Narebski\nPoland\nShadeHawk on #git\n"},{"id":"154273","messageId":"20101023185843.GJ21040@burratino","threadId":"25535","inReplyTo":"1287851481-27952-8-git-send-email-Matthieu.Moy@imag.fr","subject":"Re: [PATCH 07/10] Change incorrect \"remote branch\" to \"remote tracking branch\" in C code","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2010-10-23T18:58:43Z","receivedAt":"2010-10-23T18:58:43Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Matthieu Moy wrote:\n\n> --- a/branch.h\n> +++ b/branch.h\n> @@ -22,7 +22,7 @@ void create_branch(const char *head, const char *name, const char *start_name,\n>  void remove_branch_state(void);\n>  \n>  /*\n> - * Configure local branch \"local\" to merge remote branch \"remote\"\n> + * Configure local branch \"local\" to merge remote-tracking branch \"remote\"\n>   * taken from origin \"origin\".\n>   */\n>  #define BRANCH_CONFIG_VERBOSE 01\n\nIs this really more accurate?  I thought what install_branch_config does\nis to configure local branch \"local\" as downstream to remote branch\n\"remote\" from origin \"origin\".  That means:\n\n - \"git pull\" fetches that remote and then merges the corresponding\n   remote-tracking branch\n - \"git remote show\" compares the local branch to the remote branch\n - \"git branch -v\" compares the local branch to the remote-tracking\n   branch\n\nand so on.\n\n> index 3b0b614..4243ef0 100644\n> --- a/builtin/fetch.c\n> +++ b/builtin/fetch.c\n> @@ -359,7 +359,7 @@ static int store_updated_refs(const char *raw_url, const char *remote_name,\n>  \t\t\twhat = rm->name + 10;\n>  \t\t}\n>  \t\telse if (!prefixcmp(rm->name, \"refs/remotes/\")) {\n> -\t\t\tkind = \"remote branch\";\n> +\t\t\tkind = \"remote-tracking branch\";\n\nFor use by \"git merge\" and other \"git fmt-merge-msg\"-like consumers.  Good.\n\n> --- a/builtin/remote.c\n> +++ b/builtin/remote.c\n> @@ -791,9 +791,9 @@ static int rm(int argc, const char **argv)\n>  \n>  \tif (skipped.nr) {\n>  \t\tfprintf(stderr, skipped.nr == 1 ?\n> -\t\t\t\"Note: A non-remote branch was not removed; \"\n> +\t\t\t\"Note: A non-remote-tracking branch was not removed; \"\n>  \t\t\t\"to delete it, use:\\n\" :\n> -\t\t\t\"Note: Non-remote branches were not removed; \"\n> +\t\t\t\"Note: Non-remote-tracking branches were not removed; \"\n>  \t\t\t\"to delete them, use:\\n\");\n\nThis wording is ugly.  Maybe something to this effect would be better?\n\n\tNote: A ref outside the refs/remotes/ hierarchy was not removed:\n\n> --- a/t/t5505-remote.sh\n> +++ b/t/t5505-remote.sh\n> @@ -107,16 +107,16 @@ test_expect_success 'remove remote' '\n>  )\n>  '\n>  \n> -test_expect_success 'remove remote protects non-remote branches' '\n> +test_expect_success 'remove remote protects non-remote-tracking branches' '\n\nMaybe:\n\n\ttest_expect_success 'remove remote protects local branches' '\n\nsince that is what is important in practice.\n"},{"id":"154272","messageId":"vpqtykclon2.fsf@bauges.imag.fr","threadId":"25535","inReplyTo":"20101023183120.GF21040@burratino","subject":"Re: [PATCH 02/10] Remplace \"remote tracking\" with \"remote-tracking\"","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2010-10-23T19:01:21Z","receivedAt":"2010-10-23T19:01:21Z","isPatch":true,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Jonathan Nieder <jrnieder@gmail.com> writes:\n\n> Matthieu Moy wrote:\n>\n>> [Subject: [PATCH 02/10] Remplace \"remote tracking\" with \"remote-tracking\"]\n>\n> I think this should say \"Replace\".\n\nSure, sorry. Probably my fingers wanted to type the french word here?\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"154274","messageId":"vpqpqv0loi9.fsf@bauges.imag.fr","threadId":"25535","inReplyTo":"20101023184429.GG21040@burratino","subject":"Re: [PATCH 03/10] Change remote tracking to remote-tracking in non-trivial places","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2010-10-23T19:04:14Z","receivedAt":"2010-10-23T19:04:14Z","isPatch":true,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Jonathan Nieder <jrnieder@gmail.com> writes:\n\n> Matthieu Moy wrote:\n>\n>> --- a/Documentation/everyday.txt\n>> +++ b/Documentation/everyday.txt\n>> @@ -180,12 +180,12 @@ directory; clone from it to start a repository on the satellite\n>>  machine.\n>>  <2> clone sets these configuration variables by default.\n>>  It arranges `git pull` to fetch and store the branches of mothership\n>> -machine to local `remotes/origin/*` tracking branches.\n>> +machine to local `remotes/origin/*` remote-tracking branches.\n>\n> I find this scans better as \"tracking branches\", but consistent use of\n> jargon might trump that.  Maybe it could be reworded somehow?\n>\n> \t<2> clone sets these configuration variables by default.\n> \tThey arrange for `git pull` to fetch and store the branches\n> \tof the mothership machine to local `remotes/origin/*` tracking\n> \trefs.\n>\n> Not sure.  remotes/origin/* are not branches for local development, so\n> calling them \"branches\" without a \"remote-tracking\" caveat can be\n> confusing.\n\nThat's not terribly important, since we already have \"tracking\" in the\nsentence, and `remotes/origin/*` to make it unambiguous, but I tend to\nprefer using the exact same wording everywhere.\n\nWhat do other think?\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"154275","messageId":"20101023190441.GK21040@burratino","threadId":"25535","inReplyTo":"1287851481-27952-9-git-send-email-Matthieu.Moy@imag.fr","subject":"Re: [PATCH 08/10] Use 'remote-tracking branch' in generated merge messages","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2010-10-23T19:04:41Z","receivedAt":"2010-10-23T19:04:41Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Matthieu Moy wrote:\n\n> [Subject: [PATCH 08/10] Use 'remote-tracking branch' in generated merge messages]\n\nMaybe this should be squashed with the corresponding \"git fetch\" hunk\nin 7/10 for bisectability.\n"},{"id":"154276","messageId":"20101023190817.GL21040@burratino","threadId":"25535","inReplyTo":"1287851481-27952-10-git-send-email-Matthieu.Moy@imag.fr","subject":"Re: [PATCH 09/10] user-manual.txt: explain better the remote(-tracking) branch terms","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2010-10-23T19:08:17Z","receivedAt":"2010-10-23T19:08:17Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Matthieu Moy wrote:\n\n> --- a/Documentation/user-manual.txt\n> +++ b/Documentation/user-manual.txt\n> @@ -1716,6 +1721,10 @@ one step:\n>  $ git pull origin master\n>  -------------------------------------------------\n>  \n> +This command will fetch the changes from the remote branch to your\n> +remote-tracking branch `origin/master`, and merge the result in the\n> +current branch.\n> +\n\nI wish. :)  Actually this fetched to FETCH_HEAD and left origin/master\nalone the last time I checked.\n"},{"id":"154278","messageId":"20101023191104.GM21040@burratino","threadId":"25535","inReplyTo":"m3fwvwkadi.fsf@localhost.localdomain","subject":"Re: [PATCH 00/11] More consistant terminology (\"remote-tracking branch\", \"not updated\")","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2010-10-23T19:11:04Z","receivedAt":"2010-10-23T19:11:04Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Jakub Narebski wrote:\n> Matthieu Moy <Matthieu.Moy@imag.fr> writes:\n\n>> this is an attempt to be more consistant in the terminology used in Git.\n>\n> Thank you very much for your work!\n\nYes, seconded!  \n\nI've sent comments as replies to patches 1, 2, 3, 4, 5, 7, 8, and 9.\nExcept as noted,\n\nReviewed-by: Jonathan Nieder <jrnieder@gmail.com>\n\nThese changes are not a moment too soon.\n"},{"id":"154279","messageId":"vpqd3r0lnt5.fsf@bauges.imag.fr","threadId":"25535","inReplyTo":"20101023185843.GJ21040@burratino","subject":"Re: [PATCH 07/10] Change incorrect \"remote branch\" to \"remote tracking branch\" in C code","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2010-10-23T19:19:18Z","receivedAt":"2010-10-23T19:19:18Z","isPatch":true,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Jonathan Nieder <jrnieder@gmail.com> writes:\n\n> Matthieu Moy wrote:\n>\n>> --- a/branch.h\n>> +++ b/branch.h\n>> @@ -22,7 +22,7 @@ void create_branch(const char *head, const char *name, const char *start_name,\n>>  void remove_branch_state(void);\n>>  \n>>  /*\n>> - * Configure local branch \"local\" to merge remote branch \"remote\"\n>> + * Configure local branch \"local\" to merge remote-tracking branch \"remote\"\n>>   * taken from origin \"origin\".\n>>   */\n>>  #define BRANCH_CONFIG_VERBOSE 01\n>\n> Is this really more accurate?\n\nGood question ;-).\n\n> I thought what install_branch_config does is to configure local\n> branch \"local\" as downstream to remote branch \"remote\" from origin\n> \"origin\". That means:\n>\n>  - \"git pull\" fetches that remote and then merges the corresponding\n>    remote-tracking branch\n>  - \"git remote show\" compares the local branch to the remote branch\n>  - \"git branch -v\" compares the local branch to the remote-tracking\n>    branch\n>\n> and so on.\n\n(there's also \"git status\" which says how many commits are in a\nbranch and not the other)\n\nWell, actually, this configuration creates a relationship from the\nlocal branch to both the remote-tracking and the remote branch.\nDisconnected operations (git status for example) will deal with the\nremote-tracking, but \"pull\" will pull from the actually remote one.\n\nAnyway, the original wording was not ambiguous (thanks to the \"taken\nfrom origin\" part), so I'm fine with dropping this hunk.\n\n>> index 3b0b614..4243ef0 100644\n>> --- a/builtin/fetch.c\n>> +++ b/builtin/fetch.c\n>> @@ -359,7 +359,7 @@ static int store_updated_refs(const char *raw_url, const char *remote_name,\n>>  \t\t\twhat = rm->name + 10;\n>>  \t\t}\n>>  \t\telse if (!prefixcmp(rm->name, \"refs/remotes/\")) {\n>> -\t\t\tkind = \"remote branch\";\n>> +\t\t\tkind = \"remote-tracking branch\";\n>\n> For use by \"git merge\" and other \"git fmt-merge-msg\"-like consumers.  Good.\n>\n>> --- a/builtin/remote.c\n>> +++ b/builtin/remote.c\n>> @@ -791,9 +791,9 @@ static int rm(int argc, const char **argv)\n>>  \n>>  \tif (skipped.nr) {\n>>  \t\tfprintf(stderr, skipped.nr == 1 ?\n>> -\t\t\t\"Note: A non-remote branch was not removed; \"\n>> +\t\t\t\"Note: A non-remote-tracking branch was not removed; \"\n>>  \t\t\t\"to delete it, use:\\n\" :\n>> -\t\t\t\"Note: Non-remote branches were not removed; \"\n>> +\t\t\t\"Note: Non-remote-tracking branches were not removed; \"\n>>  \t\t\t\"to delete them, use:\\n\");\n>\n> This wording is ugly.\n\nI didn't like the double-dash either, but couldn't find anything\nbetter.\n\n> Maybe something to this effect would be better?\n>\n> \tNote: A ref outside the refs/remotes/ hierarchy was not removed:\n\nActually, that's even more accurate. The non-deleted branch is somehow\na remote-tracking since \"fetch\" feeds it, and the code detecting this\ncase is:\n\n\t/* don't delete non-remote-tracking refs */\n\tif (prefixcmp(refname, \"refs/remotes\")) {\n\t\t/* advise user how to delete local branches */\n\t\tif (!prefixcmp(refname, \"refs/heads/\"))\n\t\t\tstring_list_append(branches->skipped,\n\t\t\t\t\t   abbrev_branch(refname));\n\t\t/* silently skip over other non-remote refs */\n\t\treturn 0;\n\t}\n\nhence, really what you wrote. I just disagree with the \"ref\", since\naccording to the code, only branches show this note, other are skept\nsilently.\n\nSo, I'll make this:\n\nNote: A branch outside the refs/remotes/ hierarchy was not removed:\n\n>> --- a/t/t5505-remote.sh\n>> +++ b/t/t5505-remote.sh\n>> @@ -107,16 +107,16 @@ test_expect_success 'remove remote' '\n>>  )\n>>  '\n>>  \n>> -test_expect_success 'remove remote protects non-remote branches' '\n>> +test_expect_success 'remove remote protects non-remote-tracking branches' '\n>\n> Maybe:\n>\n> \ttest_expect_success 'remove remote protects local branches' '\n>\n> since that is what is important in practice.\n\nI buy that too.\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"154280","messageId":"vpqwrp8k8k4.fsf@bauges.imag.fr","threadId":"25535","inReplyTo":"20101023190817.GL21040@burratino","subject":"Re: [PATCH 09/10] user-manual.txt: explain better the remote(-tracking) branch terms","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2010-10-23T19:34:03Z","receivedAt":"2010-10-23T19:34:03Z","isPatch":true,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Jonathan Nieder <jrnieder@gmail.com> writes:\n\n> Matthieu Moy wrote:\n>\n>> --- a/Documentation/user-manual.txt\n>> +++ b/Documentation/user-manual.txt\n>> @@ -1716,6 +1721,10 @@ one step:\n>>  $ git pull origin master\n>>  -------------------------------------------------\n>>\n>> +This command will fetch the changes from the remote branch to your\n>> +remote-tracking branch `origin/master`, and merge the result in the\n>> +current branch.\n>> +\n>\n> I wish. :)  Actually this fetched to FETCH_HEAD and left origin/master\n> alone the last time I checked.\n\nWoops, right. I actually learnt and experimented that behavior today\nwhen reading the doc, so I've got no excuse ;-).\n\nWe can drop this hunk, but I think it's important for users to\nunderstand the two steps of \"git pull\". What about this:\n\n@@ -1716,14 +1721,19 @@ one step:\n $ git pull origin master\n -------------------------------------------------\n\n-In fact, if you have \"master\" checked out, then by default \"git pull\"\n-merges from the HEAD branch of the origin repository.  So often you\n-can\n+In fact, if you have \"master\" checked out, then this branch has been\n+configured by \"git clone\" to get changes from the HEAD branch of the\n+origin repository.  So often you can\n accomplish the above with just a simple\n\n -------------------------------------------------\n $ git pull\n -------------------------------------------------\n\n+This command will fetch the changes from the remote branches to your\n+remote-tracking branches `origin/*`, and merge default branch in the\n+current branch.\n+\n More generally, a branch that is created from a remote-tracking\n branch\n will pull\n by default from that branch.  See the descriptions of the\n\n\nThe difficulty is to be technically sound and still helpfull. I've\nwritten \"merge default branch\" to avoid entering the details of the\n--set-upstream stuff, and avoid saying \"merge one of the branch\"\ntoo ;-).\n\n(the first part of the patch is just to make it technically accurate)\n\n--\nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"154281","messageId":"vpqiq0sk7n9.fsf@bauges.imag.fr","threadId":"25535","inReplyTo":"20101023190441.GK21040@burratino","subject":"Re: [PATCH 08/10] Use 'remote-tracking branch' in generated merge messages","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2010-10-23T19:53:46Z","receivedAt":"2010-10-23T19:53:46Z","isPatch":true,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Jonathan Nieder <jrnieder@gmail.com> writes:\n\n> Matthieu Moy wrote:\n>\n>> [Subject: [PATCH 08/10] Use 'remote-tracking branch' in generated merge messages]\n>\n> Maybe this should be squashed with the corresponding \"git fetch\" hunk\n> in 7/10 for bisectability.\n\nActually, the \"git fetch\" hunk is not directly used by fmt-merge-msg,\nit is parsed, and re-pretty-printed. I'm not sure I understood all the\ndetails of the code, but the tests do pass between patch 7 and patch\n8.\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"154334","messageId":"9A09AA7C-BAE2-4571-8453-17CB3F3256D4@gmail.com","threadId":"25535","inReplyTo":"1287851481-27952-10-git-send-email-Matthieu.Moy@imag.fr","subject":"Re: [PATCH 09/10] user-manual.txt: explain better the remote(-tracking) branch terms","fromName":"Thore Husfeldt","fromEmail":"thore.husfeldt@gmail.com","sentAt":"2010-10-24T14:47:54Z","receivedAt":"2010-10-24T14:47:54Z","isPatch":true,"sender":{"key":"thore.husfeldt@gmail.com","avatar":"https://gravatar.com/avatar/d09b67dd2db2b4213ff54d74d8db9d0dd2830a92b60bea8828ce3132cdf8b853?d=mp&s=160"},"body":"On 23 Oct 2010, at 18:31, Matthieu Moy wrote:\n> Documentation/user-manual.txt |    9 +++++++++\n> 1 files changed, 9 insertions(+), 0 deletions(-)\n> \n> diff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt\n> index d70f3e0..02126f1 100644\n> --- a/Documentation/user-manual.txt\n> +++ b/Documentation/user-manual.txt\n> @@ -359,6 +359,11 @@ $ git branch -r\n>   origin/todo\n> ------------------------------------------------\n> \n> +In this case, \"origin\" is called a remote repository, or \"remote\" for\n> +short. The branches of this repository are called \"remote branches\"\n> +from our point of view, and Git will maintain a copy of these\n> +branches, called \"remote-tracking branches\" in the local repository.\n\nNo. Git does not “maintain a copy of [the remote] branches”. It’s exactly one of the pitfalls I fell into: that Git, automagically, puts the *current* state of the remote branch into remote/branchname, or at least updates it behind my back whenever it gets the chance. The Pro Git book goes as far as saying “they’re moved automatically whenever you do any network communication,” which is extremely misleading. (And then it goes on: “Remote branches act as bookmarks to remind you where the branches on your remote repositories were the last time you connected to them.” This is a good way of saying it, except that “remote branches” should be ”remote-tracking branches,” and “connected to them” could be more concrete.)\n\nI appreciate that this misunderstanding looks ridiculous in hindsight—it does to me, today. Luckily, I kept a copy of my old brain in thore/oldbrain and try to not fetch to it.\n\nAlso note that the two following lines in user-manual.txt are plain wrong (“You cannot check out these remote-tracking branches, but you can examine them on a branch of your own, just as you would a tag”).\n\nI realise that it would be more constructive for me to suggest a concrete improvement, but I’m not quite there yet. I would really like to see a good conceptualisation, with strong, versatile verbs, of the relationships between bobsstuff bob/master and Bob’s master."},{"id":"154336","messageId":"20101024151839.GA31764@burratino","threadId":"25535","inReplyTo":"9A09AA7C-BAE2-4571-8453-17CB3F3256D4@gmail.com","subject":"Re: [PATCH 09/10] user-manual.txt: explain better the remote(-tracking) branch terms","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2010-10-24T15:18:39Z","receivedAt":"2010-10-24T15:18:39Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Thore Husfeldt wrote:\n> On 23 Oct 2010, at 18:31, Matthieu Moy wrote:\n\n>> +In this case, \"origin\" is called a remote repository, or \"remote\" for\n>> +short. The branches of this repository are called \"remote branches\"\n>> +from our point of view, and Git will maintain a copy of these\n>> +branches, called \"remote-tracking branches\" in the local repository.\n>\n> No. Git does not “maintain a copy of [the remote] branches”. It’s exactly one\n> of the pitfalls I fell into: that Git, automagically, puts the *current*\n> state of the remote branch into remote/branchname, or at least\n[...]\n> I realise that it would be more constructive for me to suggest a concrete\n> improvement, but I’m not quite there yet.\n\nYes, it really would.  Or could you try to figure out what exactly is\nconfusing in the wording (for example by giving an interpretation like\n\n\t[do a good job at] maintain[ing] a copy of the branches\n\nto indicate which part was confusing)?\n\nAs it is, I'm a little confused.  At least according to one interpretation,\nGit does maintain a copy of the remote branches.  This is not tracking like\na Basset hound, and it is not maintaining a copy like cron running rsync\nevery 5 minutes, but git tracks remote branches like a human and\nmaintains a copy like a human running rsync whenever she finds time to\nget around to it.\n\nOf course, the wording can be improved.  A nice side-effect of clear\nsuggestions intended to disambiguate one aspect is that they tend to\nresult in the text becoming clearer in other ways at the same time.\n"},{"id":"154351","messageId":"m3bp6jjhhm.fsf@localhost.localdomain","threadId":"25535","inReplyTo":"9A09AA7C-BAE2-4571-8453-17CB3F3256D4@gmail.com","subject":"Re: [PATCH 09/10] user-manual.txt: explain better the remote(-tracking) branch terms","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2010-10-24T23:32:01Z","receivedAt":"2010-10-24T23:32:01Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Thore Husfeldt <thore.husfeldt@gmail.com> writes:\n> On 23 Oct 2010, at 18:31, Matthieu Moy wrote:\n\n> > Documentation/user-manual.txt |    9 +++++++++\n> > 1 files changed, 9 insertions(+), 0 deletions(-)\n> > \n> > diff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt\n> > index d70f3e0..02126f1 100644\n> > --- a/Documentation/user-manual.txt\n> > +++ b/Documentation/user-manual.txt\n> > @@ -359,6 +359,11 @@ $ git branch -r\n> >   origin/todo\n> > ------------------------------------------------\n> > \n> > +In this case, \"origin\" is called a remote repository, or \"remote\" for\n> > +short. The branches of this repository are called \"remote branches\"\n> > +from our point of view, and Git will maintain a copy of these\n> > +branches, called \"remote-tracking branches\" in the local repository.\n> \n> No. Git does not \"maintain a copy of [the remote]\n> branches\". Its exactly one of the pitfalls I fell into: that\n> Git, automagically, puts the *current* state of the remote branch\n> into remote/branchname, or at least updates it behind my back\n> whenever it gets the chance.\n\nSo you don't like the word \"maintain\" here, is it?  Perhaps \"keep\"\ninstead of \"maintain\" would be a better word?\n\nI guess that we can also add the following explanation:\n\n  Those \"remote-tracking branches\" would be updated to the state of tracked\n  branches in remote repository on fetch.\n\n> The Pro Git book goes as far as saying \"theyre moved\n> automatically whenever you do any network communication,\" which\n> is extremely misleading. (And then it goes on: \"Remote branches\n> act as bookmarks to remind you where the branches on your remote\n> repositories were the last time you connected to them.\" This is a\n> good way of saying it, except that \"remote branches\" should be\n> \"remote-tracking branches,\"\n\nRight\n\n> and \"connected to them\" could be more concrete.)\n\nI guess that the word 'connected' is used here to avoid repetition.\nBut it is a bit unprecise: \"git remote show <remote>\" connects to remote\nrepository but does not update remote-tracking branches.\n\n> Also note that the two following lines in user-manual.txt are plain\n> wrong (\"You cannot check out these remote-tracking branches, but you\n> can examine them on a branch of your own, just as you would a tag\").\n\nThis is simply outdated information, predating invention of detached\nHEAD (also known as anonymous / unnamed branch).  They are not _that_\nwrong, as you don't checkout a remote-tracking branch: you checkout\n_state_ of remote tracking branch, creating unnamed branch for that\n(state marked in git-branch output as \"(no branch)\").  But I guess it\nis too fine distinction (splitting hairs).\n\n> \n> I realise that it would be more constructive for me to suggest a\n> concrete improvement, but Im not quite there yet. I would really\n> like to see a good conceptualisation, with strong, versatile verbs,\n> of the relationships between bobsstuff bob/master and Bobs master\n\nNevertheless your contributions, even those in the form of pointing\nerrors and inconsistences, are very welcome.\n\n-- \nJakub Narebski\nPoland\nShadeHawk on #git\n"},{"id":"154388","messageId":"1287986922-16308-1-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH v2 00/10] More consistant terminology (\"remote-tracking branch\", \"not updated\")","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-25T06:08:32Z","receivedAt":"2010-10-25T06:08:32Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"Here's a new version that should address Jonathan's remarks.\n\nI've reworded a bit the user-manual.txt changes, they may adress\nThore's remark, but we can probably do better. But no time for that\nnow ;-).\n\nMatthieu Moy (10):\n  Better \"Changed but not updated\" message in git-status\n  Replace \"remote tracking\" with \"remote-tracking\"\n  Change remote tracking to remote-tracking in non-trivial places\n  Change \"tracking branch\" to \"remote-tracking branch\"\n  Change \"tracking branch\" to \"remote-tracking branch\" in C code\n  Change incorrect uses of \"remote branch\" meaning \"remote-tracking\"\n  Change incorrect \"remote branch\" to \"remote tracking branch\" in C\n    code\n  Use 'remote-tracking branch' in generated merge messages\n  user-manual.txt: explain better the remote(-tracking) branch terms\n  git-branch.txt: mention --set-upstream as a way to change upstream\n    configuration\n\n Documentation/config.txt               |   13 ++++++-----\n Documentation/everyday.txt             |    6 ++--\n Documentation/fetch-options.txt        |    2 +-\n Documentation/git-branch.txt           |   14 +++++++-----\n Documentation/git-checkout.txt         |    2 +-\n Documentation/git-clone.txt            |    2 +-\n Documentation/git-describe.txt         |    2 +-\n Documentation/git-fetch.txt            |    2 +-\n Documentation/git-gc.txt               |    6 ++--\n Documentation/git-log.txt              |    2 +-\n Documentation/git-pull.txt             |    8 +++---\n Documentation/git-remote.txt           |    6 ++--\n Documentation/git-tag.txt              |    4 +-\n Documentation/gittutorial-2.txt        |    2 +-\n Documentation/gittutorial.txt          |    6 ++--\n Documentation/glossary-content.txt     |    8 +++---\n Documentation/rev-list-options.txt     |    2 +-\n Documentation/user-manual.txt          |   30 ++++++++++++++++++++-------\n branch.h                               |    2 +-\n builtin/checkout.c                     |    4 +-\n builtin/fetch.c                        |    6 ++--\n builtin/fmt-merge-msg.c                |    6 ++--\n builtin/merge.c                        |    2 +-\n builtin/remote.c                       |    6 ++--\n contrib/examples/builtin-fetch--tool.c |    2 +-\n remote.c                               |    2 +-\n t/t1507-rev-parse-upstream.sh          |    2 +-\n t/t3409-rebase-preserve-merges.sh      |    2 +-\n t/t5400-send-pack.sh                   |    2 +-\n t/t5505-remote.sh                      |    8 ++++--\n t/t5513-fetch-track.sh                 |    2 +-\n t/t7508-status.sh                      |   34 ++++++++++++++++----------------\n t/t7608-merge-messages.sh              |    4 +-\n wt-status.c                            |    2 +-\n 34 files changed, 111 insertions(+), 92 deletions(-)\n\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154382","messageId":"1287986922-16308-2-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 01/10] Better \"Changed but not updated\" message in git-status","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-25T06:08:33Z","receivedAt":"2010-10-25T06:08:33Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"Older Gits talked about \"updating\" a file to add its content to the\nindex, but this terminology is confusing for new users. \"to stage\" is far\nmore intuitive and already used in e.g. the \"git stage\" command name.\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/gittutorial-2.txt |    2 +-\n t/t7508-status.sh               |   34 +++++++++++++++++-----------------\n wt-status.c                     |    2 +-\n 3 files changed, 19 insertions(+), 19 deletions(-)\n\ndiff --git a/Documentation/gittutorial-2.txt b/Documentation/gittutorial-2.txt\nindex ecab0c0..7fe5848 100644\n--- a/Documentation/gittutorial-2.txt\n+++ b/Documentation/gittutorial-2.txt\n@@ -373,7 +373,7 @@ $ git status\n #\n #       new file: closing.txt\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #\n #       modified: file.txt\ndiff --git a/t/t7508-status.sh b/t/t7508-status.sh\nindex c9300f3..4de3e27 100755\n--- a/t/t7508-status.sh\n+++ b/t/t7508-status.sh\n@@ -44,7 +44,7 @@ cat >expect <<\\EOF\n #\n #\tnew file:   dir2/added\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -73,7 +73,7 @@ cat >expect <<\\EOF\n # Changes to be committed:\n #\tnew file:   dir2/added\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #\tmodified:   dir1/modified\n #\n # Untracked files:\n@@ -140,7 +140,7 @@ cat >expect <<EOF\n #\n #\tnew file:   dir2/added\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -167,7 +167,7 @@ cat >expect <<EOF\n # Changes to be committed:\n #\tnew file:   dir2/added\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #\tmodified:   dir1/modified\n #\n # Untracked files not listed\n@@ -202,7 +202,7 @@ cat >expect <<EOF\n #\n #\tnew file:   dir2/added\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -260,7 +260,7 @@ cat >expect <<EOF\n #\n #\tnew file:   dir2/added\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -320,7 +320,7 @@ cat >expect <<\\EOF\n #\n #\tnew file:   ../dir2/added\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -392,7 +392,7 @@ cat >expect <<\\EOF\n #\n #\t<GREEN>new file:   dir2/added<RESET>\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -521,7 +521,7 @@ cat >expect <<\\EOF\n #\n #\tnew file:   dir2/added\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -614,7 +614,7 @@ cat >expect <<EOF\n #\tnew file:   dir2/added\n #\tnew file:   sm\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -673,7 +673,7 @@ cat >expect <<EOF\n #\tnew file:   dir2/added\n #\tnew file:   sm\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -718,7 +718,7 @@ test_expect_success 'status -s submodule summary' '\n \n cat >expect <<EOF\n # On branch master\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -766,7 +766,7 @@ cat >expect <<EOF\n #\tnew file:   dir2/added\n #\tnew file:   sm\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -819,7 +819,7 @@ cat > expect << EOF\n #\n #\tmodified:   sm\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -931,7 +931,7 @@ cat > expect << EOF\n #\n #\tmodified:   sm\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #   (commit or discard the untracked or modified content in submodules)\n@@ -989,7 +989,7 @@ cat > expect << EOF\n #\n #\tmodified:   sm\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -1067,7 +1067,7 @@ test_expect_success \".git/config ignore=dirty doesn't suppress submodule summary\n \n cat > expect << EOF\n # On branch master\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\ndiff --git a/wt-status.c b/wt-status.c\nindex fc2438f..d9f3d9f 100644\n--- a/wt-status.c\n+++ b/wt-status.c\n@@ -88,7 +88,7 @@ static void wt_status_print_dirty_header(struct wt_status *s,\n {\n \tconst char *c = color(WT_STATUS_HEADER, s);\n \n-\tcolor_fprintf_ln(s->fp, c, \"# Changed but not updated:\");\n+\tcolor_fprintf_ln(s->fp, c, \"# Changes not staged for commit:\");\n \tif (!advice_status_hints)\n \t\treturn;\n \tif (!has_deleted)\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154386","messageId":"1287986922-16308-3-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 02/10] Replace \"remote tracking\" with \"remote-tracking\"","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-25T06:08:34Z","receivedAt":"2010-10-25T06:08:34Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"\"remote-tracking\" branch makes it explicit that the branch is \"tracking a\nremote\", as opposed to \"remote, and tracking something\".\n\nSee discussion in e.g.\nhttp://mid.gmane.org/8835ADF9-45E5-4A26-9F7F-A72ECC065BB2@gmail.com\nfor more details.\n\nThis patch is a straightforward application of\n\n  perl -pi -e 's/remote tracking branch/remote-tracking branch/'\n\nexcept in the RelNotes directory.\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/config.txt           |    2 +-\n Documentation/fetch-options.txt    |    2 +-\n Documentation/git-log.txt          |    2 +-\n Documentation/git-pull.txt         |    2 +-\n Documentation/git-remote.txt       |    4 ++--\n Documentation/gittutorial.txt      |    2 +-\n Documentation/rev-list-options.txt |    2 +-\n Documentation/user-manual.txt      |    2 +-\n builtin/checkout.c                 |    2 +-\n t/t5513-fetch-track.sh             |    2 +-\n 10 files changed, 11 insertions(+), 11 deletions(-)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 538ebb5..e625d6a 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -708,7 +708,7 @@ color.diff.<slot>::\n color.decorate.<slot>::\n \tUse customized color for 'git log --decorate' output.  `<slot>` is one\n \tof `branch`, `remoteBranch`, `tag`, `stash` or `HEAD` for local\n-\tbranches, remote tracking branches, tags, stash and HEAD, respectively.\n+\tbranches, remote-tracking branches, tags, stash and HEAD, respectively.\n \n color.grep::\n \tWhen set to `always`, always highlight matches.  When `false` (or\ndiff --git a/Documentation/fetch-options.txt b/Documentation/fetch-options.txt\nindex 470ac31..a435c23 100644\n--- a/Documentation/fetch-options.txt\n+++ b/Documentation/fetch-options.txt\n@@ -36,7 +36,7 @@ ifndef::git-pull[]\n \n -p::\n --prune::\n-\tAfter fetching, remove any remote tracking branches which\n+\tAfter fetching, remove any remote-tracking branches which\n \tno longer exist\ton the remote.\n endif::git-pull[]\n \ndiff --git a/Documentation/git-log.txt b/Documentation/git-log.txt\nindex 6d40f00..ff41784 100644\n--- a/Documentation/git-log.txt\n+++ b/Documentation/git-log.txt\n@@ -116,7 +116,7 @@ git log --follow builtin-rev-list.c::\n git log --branches --not --remotes=origin::\n \n \tShows all commits that are in any of local branches but not in\n-\tany of remote tracking branches for 'origin' (what you have that\n+\tany of remote-tracking branches for 'origin' (what you have that\n \torigin doesn't).\n \n git log master --not --remotes=*/master::\ndiff --git a/Documentation/git-pull.txt b/Documentation/git-pull.txt\nindex c50f7dc..33e8438 100644\n--- a/Documentation/git-pull.txt\n+++ b/Documentation/git-pull.txt\n@@ -26,7 +26,7 @@ With `--rebase`, it runs 'git rebase' instead of 'git merge'.\n <repository> should be the name of a remote repository as\n passed to linkgit:git-fetch[1].  <refspec> can name an\n arbitrary remote ref (for example, the name of a tag) or even\n-a collection of refs with corresponding remote tracking branches\n+a collection of refs with corresponding remote-tracking branches\n (e.g., refs/heads/*:refs/remotes/origin/*), but usually it is\n the name of a branch in the remote repository.\n \ndiff --git a/Documentation/git-remote.txt b/Documentation/git-remote.txt\nindex 0d28feb..5e4989d 100644\n--- a/Documentation/git-remote.txt\n+++ b/Documentation/git-remote.txt\n@@ -75,7 +75,7 @@ was passed.\n \n 'rename'::\n \n-Rename the remote named <old> to <new>. All remote tracking branches and\n+Rename the remote named <old> to <new>. All remote-tracking branches and\n configuration settings for the remote are updated.\n +\n In case <old> and <new> are the same, and <old> is a file under\n@@ -84,7 +84,7 @@ the configuration file format.\n \n 'rm'::\n \n-Remove the remote named <name>. All remote tracking branches and\n+Remove the remote named <name>. All remote-tracking branches and\n configuration settings for the remote are removed.\n \n 'set-head'::\ndiff --git a/Documentation/gittutorial.txt b/Documentation/gittutorial.txt\nindex 1c16066..f1f4086 100644\n--- a/Documentation/gittutorial.txt\n+++ b/Documentation/gittutorial.txt\n@@ -385,7 +385,7 @@ alice$ git fetch bob\n \n Unlike the longhand form, when Alice fetches from Bob using a\n remote repository shorthand set up with 'git remote', what was\n-fetched is stored in a remote tracking branch, in this case\n+fetched is stored in a remote-tracking branch, in this case\n `bob/master`.  So after this:\n \n -------------------------------------\ndiff --git a/Documentation/rev-list-options.txt b/Documentation/rev-list-options.txt\nindex 7a42567..7a1b164 100644\n--- a/Documentation/rev-list-options.txt\n+++ b/Documentation/rev-list-options.txt\n@@ -264,7 +264,7 @@ endif::git-rev-list[]\n \n \tPretend as if all the refs in `refs/remotes` are listed\n \ton the command line as '<commit>'. If '<pattern>' is given, limit\n-\tremote tracking branches to ones matching given shell glob.\n+\tremote-tracking branches to ones matching given shell glob.\n \tIf pattern lacks '?', '*', or '[', '/*' at the end is implied.\n \n --glob=<glob-pattern>::\ndiff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt\nindex fc56da6..d5505e8 100644\n--- a/Documentation/user-manual.txt\n+++ b/Documentation/user-manual.txt\n@@ -1700,7 +1700,7 @@ may wish to check the original repository for updates and merge them\n into your own work.\n \n We have already seen <<Updating-a-repository-With-git-fetch,how to\n-keep remote tracking branches up to date>> with linkgit:git-fetch[1],\n+keep remote-tracking branches up to date>> with linkgit:git-fetch[1],\n and how to merge two branches.  So you can merge in changes from the\n original repository's master branch with:\n \ndiff --git a/builtin/checkout.c b/builtin/checkout.c\nindex 9240faf..9a934af 100644\n--- a/builtin/checkout.c\n+++ b/builtin/checkout.c\n@@ -786,7 +786,7 @@ int cmd_checkout(int argc, const char **argv, const char *prefix)\n \t *   With no paths, if <something> is _not_ a commit, no -t nor -b\n \t *   was given, and there is a tracking branch whose name is\n \t *   <something> in one and only one remote, then this is a short-hand\n-\t *   to fork local <something> from that remote tracking branch.\n+\t *   to fork local <something> from that remote-tracking branch.\n \t *\n \t *   Otherwise <something> shall not be ambiguous.\n \t *   - If it's *only* a reference, treat it like case (1).\ndiff --git a/t/t5513-fetch-track.sh b/t/t5513-fetch-track.sh\nindex 9e74862..65d1e05 100755\n--- a/t/t5513-fetch-track.sh\n+++ b/t/t5513-fetch-track.sh\n@@ -1,6 +1,6 @@\n #!/bin/sh\n \n-test_description='fetch follows remote tracking branches correctly'\n+test_description='fetch follows remote-tracking branches correctly'\n \n . ./test-lib.sh\n \n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154383","messageId":"1287986922-16308-4-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 03/10] Change remote tracking to remote-tracking in non-trivial places","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-25T06:08:35Z","receivedAt":"2010-10-25T06:08:35Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"To complement the straightforward perl application in previous patch,\nthis adds a few manual changes.\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/everyday.txt    |    6 +++---\n Documentation/git-gc.txt      |    6 +++---\n Documentation/gittutorial.txt |    4 ++--\n t/t5400-send-pack.sh          |    2 +-\n 4 files changed, 9 insertions(+), 9 deletions(-)\n\ndiff --git a/Documentation/everyday.txt b/Documentation/everyday.txt\nindex e0ba8cc..ae413e5 100644\n--- a/Documentation/everyday.txt\n+++ b/Documentation/everyday.txt\n@@ -180,12 +180,12 @@ directory; clone from it to start a repository on the satellite\n machine.\n <2> clone sets these configuration variables by default.\n It arranges `git pull` to fetch and store the branches of mothership\n-machine to local `remotes/origin/*` tracking branches.\n+machine to local `remotes/origin/*` remote-tracking branches.\n <3> arrange `git push` to push local `master` branch to\n `remotes/satellite/master` branch of the mothership machine.\n <4> push will stash our work away on `remotes/satellite/master`\n-tracking branch on the mothership machine.  You could use this as\n-a back-up method.\n+remote-tracking branch on the mothership machine.  You could use this\n+as a back-up method.\n <5> on mothership machine, merge the work done on the satellite\n machine into the master branch.\n \ndiff --git a/Documentation/git-gc.txt b/Documentation/git-gc.txt\nindex 315f07e..801aede 100644\n--- a/Documentation/git-gc.txt\n+++ b/Documentation/git-gc.txt\n@@ -89,7 +89,7 @@ are not part of the current project most users will want to expire\n them sooner.  This option defaults to '30 days'.\n \n The above two configuration variables can be given to a pattern.  For\n-example, this sets non-default expiry values only to remote tracking\n+example, this sets non-default expiry values only to remote-tracking\n branches:\n \n ------------\n@@ -128,8 +128,8 @@ Notes\n \n 'git gc' tries very hard to be safe about the garbage it collects. In\n particular, it will keep not only objects referenced by your current set\n-of branches and tags, but also objects referenced by the index, remote\n-tracking branches, refs saved by 'git filter-branch' in\n+of branches and tags, but also objects referenced by the index,\n+remote-tracking branches, refs saved by 'git filter-branch' in\n refs/original/, or reflogs (which may reference commits in branches\n that were later amended or rewound).\n \ndiff --git a/Documentation/gittutorial.txt b/Documentation/gittutorial.txt\nindex f1f4086..0982f74 100644\n--- a/Documentation/gittutorial.txt\n+++ b/Documentation/gittutorial.txt\n@@ -402,8 +402,8 @@ could merge the changes into her master branch:\n alice$ git merge bob/master\n -------------------------------------\n \n-This `merge` can also be done by 'pulling from her own remote\n-tracking branch', like this:\n+This `merge` can also be done by 'pulling from her own remote-tracking\n+branch', like this:\n \n -------------------------------------\n alice$ git pull . remotes/bob/master\ndiff --git a/t/t5400-send-pack.sh b/t/t5400-send-pack.sh\nindex 5bcf0b8..b0b2684 100755\n--- a/t/t5400-send-pack.sh\n+++ b/t/t5400-send-pack.sh\n@@ -129,7 +129,7 @@ test_expect_success 'denyNonFastforwards trumps --force' '\n \ttest \"$victim_orig\" = \"$victim_head\"\n '\n \n-test_expect_success 'push --all excludes remote tracking hierarchy' '\n+test_expect_success 'push --all excludes remote-tracking hierarchy' '\n \tmkdir parent &&\n \t(\n \t    cd parent &&\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154385","messageId":"1287986922-16308-5-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 04/10] Change \"tracking branch\" to \"remote-tracking branch\"","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-25T06:08:36Z","receivedAt":"2010-10-25T06:08:36Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"One more step towards consistancy in our documentation...\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/config.txt           |    4 ++--\n Documentation/git-fetch.txt        |    2 +-\n Documentation/git-pull.txt         |    6 +++---\n Documentation/git-remote.txt       |    2 +-\n Documentation/git-tag.txt          |    4 ++--\n Documentation/glossary-content.txt |    8 ++++----\n Documentation/user-manual.txt      |    2 +-\n 7 files changed, 14 insertions(+), 14 deletions(-)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex e625d6a..e4f16d8 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -680,7 +680,7 @@ color.branch::\n color.branch.<slot>::\n \tUse customized color for branch coloration. `<slot>` is one of\n \t`current` (the current branch), `local` (a local branch),\n-\t`remote` (a tracking branch in refs/remotes/), `plain` (other\n+\t`remote` (a remote-tracking branch in refs/remotes/), `plain` (other\n \trefs).\n +\n The value for these configuration variables is a list of colors (at most\n@@ -1102,7 +1102,7 @@ gui.newbranchtemplate::\n \tlinkgit:git-gui[1].\n \n gui.pruneduringfetch::\n-\t\"true\" if linkgit:git-gui[1] should prune tracking branches when\n+\t\"true\" if linkgit:git-gui[1] should prune remote-tracking branches when\n \tperforming a fetch. The default value is \"false\".\n \n gui.trustmtime::\ndiff --git a/Documentation/git-fetch.txt b/Documentation/git-fetch.txt\nindex d159e88..c76e313 100644\n--- a/Documentation/git-fetch.txt\n+++ b/Documentation/git-fetch.txt\n@@ -26,7 +26,7 @@ The ref names and their object names of fetched refs are stored\n in `.git/FETCH_HEAD`.  This information is left for a later merge\n operation done by 'git merge'.\n \n-When <refspec> stores the fetched result in tracking branches,\n+When <refspec> stores the fetched result in remote-tracking branches,\n the tags that point at these branches are automatically\n followed.  This is done by first fetching from the remote using\n the given <refspec>s, and if the repository has objects that are\ndiff --git a/Documentation/git-pull.txt b/Documentation/git-pull.txt\nindex 33e8438..54e7013 100644\n--- a/Documentation/git-pull.txt\n+++ b/Documentation/git-pull.txt\n@@ -134,7 +134,7 @@ and if there is not any such variable, the value on `URL: ` line\n in `$GIT_DIR/remotes/<origin>` file is used.\n \n In order to determine what remote branches to fetch (and\n-optionally store in the tracking branches) when the command is\n+optionally store in the remote-tracking branches) when the command is\n run without any refspec parameters on the command line, values\n of the configuration variable `remote.<origin>.fetch` are\n consulted, and if there aren't any, `$GIT_DIR/remotes/<origin>`\n@@ -147,9 +147,9 @@ refs/heads/*:refs/remotes/origin/*\n ------------\n \n A globbing refspec must have a non-empty RHS (i.e. must store\n-what were fetched in tracking branches), and its LHS and RHS\n+what were fetched in remote-tracking branches), and its LHS and RHS\n must end with `/*`.  The above specifies that all remote\n-branches are tracked using tracking branches in\n+branches are tracked using remote-tracking branches in\n `refs/remotes/origin/` hierarchy under the same name.\n \n The rule to determine which remote branch to merge after\ndiff --git a/Documentation/git-remote.txt b/Documentation/git-remote.txt\nindex 5e4989d..c258ea4 100644\n--- a/Documentation/git-remote.txt\n+++ b/Documentation/git-remote.txt\n@@ -146,7 +146,7 @@ With `-n` option, the remote heads are not queried first with\n \n 'prune'::\n \n-Deletes all stale tracking branches under <name>.\n+Deletes all stale remote-tracking branches under <name>.\n These stale branches have already been removed from the remote repository\n referenced by <name>, but are still locally available in\n \"remotes/<name>\".\ndiff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt\nindex 31c78a8..8b169e3 100644\n--- a/Documentation/git-tag.txt\n+++ b/Documentation/git-tag.txt\n@@ -177,7 +177,7 @@ On Automatic following\n ~~~~~~~~~~~~~~~~~~~~~~\n \n If you are following somebody else's tree, you are most likely\n-using tracking branches (`refs/heads/origin` in traditional\n+using remote-tracking branches (`refs/heads/origin` in traditional\n layout, or `refs/remotes/origin/master` in the separate-remote\n layout).  You usually want the tags from the other end.\n \n@@ -232,7 +232,7 @@ this case.\n It may well be that among networking people, they may want to\n exchange the tags internal to their group, but in that workflow\n they are most likely tracking with each other's progress by\n-having tracking branches.  Again, the heuristic to automatically\n+having remote-tracking branches.  Again, the heuristic to automatically\n follow such tags is a good thing.\n \n \ndiff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt\nindex 1f029f8..a76de62 100644\n--- a/Documentation/glossary-content.txt\n+++ b/Documentation/glossary-content.txt\n@@ -131,7 +131,7 @@ to point at the new commit.\n \tyou have. In such these cases, you do not make a new <<def_merge,merge>>\n \t<<def_commit,commit>> but instead just update to his\n \trevision. This will happen frequently on a\n-\t<<def_tracking_branch,tracking branch>> of a remote\n+\t<<def_remote_tracking_branch,remote-tracking branch>> of a remote\n \t<<def_repository,repository>>.\n \n [[def_fetch]]fetch::\n@@ -260,7 +260,7 @@ This commit is referred to as a \"merge commit\", or sometimes just a\n \tThe default upstream <<def_repository,repository>>. Most projects have\n \tat least one upstream project which they track. By default\n \t'origin' is used for that purpose. New upstream updates\n-\twill be fetched into remote <<def_tracking_branch,tracking branches>> named\n+\twill be fetched into remote <<def_remote_tracking_branch,remote-tracking branches>> named\n \torigin/name-of-upstream-branch, which you can see using\n \t`git branch -r`.\n \n@@ -418,11 +418,11 @@ This commit is referred to as a \"merge commit\", or sometimes just a\n \tthat each contain very well defined concepts or small incremental yet\n \trelated changes.\n \n-[[def_tracking_branch]]tracking branch::\n+[[def_remote_tracking_branch]]remote-tracking branch::\n \tA regular git <<def_branch,branch>> that is used to follow changes from\n \tanother <<def_repository,repository>>. A tracking\n \tbranch should not contain direct modifications or have local commits\n-\tmade to it. A tracking branch can usually be\n+\tmade to it. A remote-tracking branch can usually be\n \tidentified as the right-hand-side <<def_ref,ref>> in a Pull:\n \t<<def_refspec,refspec>>.\n \ndiff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt\nindex d5505e8..d7835ca 100644\n--- a/Documentation/user-manual.txt\n+++ b/Documentation/user-manual.txt\n@@ -435,7 +435,7 @@ linux-nfs/master\n origin/master\n -------------------------------------------------\n \n-If you run \"git fetch <remote>\" later, the tracking branches for the\n+If you run \"git fetch <remote>\" later, the remote-tracking branches for the\n named <remote> will be updated.\n \n If you examine the file .git/config, you will see that git has added\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154387","messageId":"1287986922-16308-6-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 05/10] Change \"tracking branch\" to \"remote-tracking branch\" in C code","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-25T06:08:37Z","receivedAt":"2010-10-25T06:08:37Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"(Just like we did for documentation already)\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n builtin/checkout.c |    2 +-\n builtin/fetch.c    |    4 ++--\n remote.c           |    2 +-\n 3 files changed, 4 insertions(+), 4 deletions(-)\n\ndiff --git a/builtin/checkout.c b/builtin/checkout.c\nindex 9a934af..1fa9ce4 100644\n--- a/builtin/checkout.c\n+++ b/builtin/checkout.c\n@@ -784,7 +784,7 @@ int cmd_checkout(int argc, const char **argv, const char *prefix)\n \t *   between A and B, A...B names that merge base.\n \t *\n \t *   With no paths, if <something> is _not_ a commit, no -t nor -b\n-\t *   was given, and there is a tracking branch whose name is\n+\t *   was given, and there is a remote-tracking branch whose name is\n \t *   <something> in one and only one remote, then this is a short-hand\n \t *   to fork local <something> from that remote-tracking branch.\n \t *\ndiff --git a/builtin/fetch.c b/builtin/fetch.c\nindex d35f000..3b0b614 100644\n--- a/builtin/fetch.c\n+++ b/builtin/fetch.c\n@@ -52,7 +52,7 @@ static struct option builtin_fetch_options[] = {\n \tOPT_SET_INT('n', NULL, &tags,\n \t\t    \"do not fetch all tags (--no-tags)\", TAGS_UNSET),\n \tOPT_BOOLEAN('p', \"prune\", &prune,\n-\t\t    \"prune tracking branches no longer on remote\"),\n+\t\t    \"prune remote-tracking branches no longer on remote\"),\n \tOPT_BOOLEAN(0, \"dry-run\", &dry_run,\n \t\t    \"dry run\"),\n \tOPT_BOOLEAN('k', \"keep\", &keep, \"keep downloaded pack\"),\n@@ -98,7 +98,7 @@ static void add_merge_config(struct ref **head,\n \t\t\tcontinue;\n \n \t\t/*\n-\t\t * Not fetched to a tracking branch?  We need to fetch\n+\t\t * Not fetched to a remote-tracking branch?  We need to fetch\n \t\t * it anyway to allow this branch's \"branch.$name.merge\"\n \t\t * to be honored by 'git pull', but we do not have to\n \t\t * fail if branch.$name.merge is misconfigured to point\ndiff --git a/remote.c b/remote.c\nindex 9143ec7..ca42a12 100644\n--- a/remote.c\n+++ b/remote.c\n@@ -493,7 +493,7 @@ static void read_config(void)\n }\n \n /*\n- * We need to make sure the tracking branches are well formed, but a\n+ * We need to make sure the remote-tracking branches are well formed, but a\n  * wildcard refspec in \"struct refspec\" must have a trailing slash. We\n  * temporarily drop the trailing '/' while calling check_ref_format(),\n  * and put it back.  The caller knows that a CHECK_REF_FORMAT_ONELEVEL\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154384","messageId":"1287986922-16308-7-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 06/10] Change incorrect uses of \"remote branch\" meaning \"remote-tracking\"","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-25T06:08:38Z","receivedAt":"2010-10-25T06:08:38Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"\"remote branch\" is a branch hosted in a remote repository, while\n\"remote-tracking branch\" is a copy of such branch, hosted locally.\nThe distinction is subtle when the copy is up-to-date, but rather\nfundamental to understand what \"git fetch\" and \"git push\" do.\n\nThis patch should fix all incorrect usages in Documentation/ directory.\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/config.txt       |    7 ++++---\n Documentation/git-branch.txt   |   11 ++++++-----\n Documentation/git-checkout.txt |    2 +-\n Documentation/git-clone.txt    |    2 +-\n Documentation/git-describe.txt |    2 +-\n Documentation/user-manual.txt  |    9 +++++----\n 6 files changed, 18 insertions(+), 15 deletions(-)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex e4f16d8..6a6c0b5 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -601,8 +601,9 @@ branch.autosetupmerge::\n \tthis behavior can be chosen per-branch using the `--track`\n \tand `--no-track` options. The valid settings are: `false` -- no\n \tautomatic setup is done; `true` -- automatic setup is done when the\n-\tstarting point is a remote branch; `always` -- automatic setup is\n-\tdone when the starting point is either a local branch or remote\n+\tstarting point is a remote-tracking branch; `always` --\n+\tautomatic setup is done when the starting point is either a\n+\tlocal branch or remote-tracking\n \tbranch. This option defaults to true.\n \n branch.autosetuprebase::\n@@ -613,7 +614,7 @@ branch.autosetuprebase::\n \tWhen `local`, rebase is set to true for tracked branches of\n \tother local branches.\n \tWhen `remote`, rebase is set to true for tracked branches of\n-\tremote branches.\n+\tremote-tracking branches.\n \tWhen `always`, rebase will be set to true for all tracking\n \tbranches.\n \tSee \"branch.autosetupmerge\" for details on how to set up a\ndiff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt\nindex 1940256..7f23c56 100644\n--- a/Documentation/git-branch.txt\n+++ b/Documentation/git-branch.txt\n@@ -37,9 +37,9 @@ Note that this will create the new branch, but it will not switch the\n working tree to it; use \"git checkout <newbranch>\" to switch to the\n new branch.\n \n-When a local branch is started off a remote branch, git sets up the\n+When a local branch is started off a remote-tracking branch, git sets up the\n branch so that 'git pull' will appropriately merge from\n-the remote branch. This behavior may be changed via the global\n+the remote-tracking branch. This behavior may be changed via the global\n `branch.autosetupmerge` configuration flag. That setting can be\n overridden by using the `--track` and `--no-track` options.\n \n@@ -89,7 +89,8 @@ OPTIONS\n \tMove/rename a branch even if the new branch name already exists.\n \n --color[=<when>]::\n-\tColor branches to highlight current, local, and remote branches.\n+\tColor branches to highlight current, local, and\n+\tremote-tracking branches.\n \tThe value must be always (the default), never, or auto.\n \n --no-color::\n@@ -125,11 +126,11 @@ OPTIONS\n \tit directs `git pull` without arguments to pull from the\n \tupstream when the new branch is checked out.\n +\n-This behavior is the default when the start point is a remote branch.\n+This behavior is the default when the start point is a remote-tracking branch.\n Set the branch.autosetupmerge configuration variable to `false` if you\n want `git checkout` and `git branch` to always behave as if '--no-track'\n were given. Set it to `always` if you want this behavior when the\n-start-point is either a local or remote branch.\n+start-point is either a local or remote-tracking branch.\n \n --no-track::\n \tDo not set up \"upstream\" configuration, even if the\ndiff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt\nindex 22d3611..880763d 100644\n--- a/Documentation/git-checkout.txt\n+++ b/Documentation/git-checkout.txt\n@@ -98,7 +98,7 @@ entries; instead, unmerged entries are ignored.\n \t\"--track\" in linkgit:git-branch[1] for details.\n +\n If no '-b' option is given, the name of the new branch will be\n-derived from the remote branch.  If \"remotes/\" or \"refs/remotes/\"\n+derived from the remote-tracking branch.  If \"remotes/\" or \"refs/remotes/\"\n is prefixed it is stripped away, and then the part up to the\n next slash (which would be the nickname of the remote) is removed.\n This would tell us to use \"hack\" as the local branch when branching\ndiff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt\nindex ab72933..2320382 100644\n--- a/Documentation/git-clone.txt\n+++ b/Documentation/git-clone.txt\n@@ -131,7 +131,7 @@ objects from the source repository into a pack in the cloned repository.\n \tSet up a mirror of the source repository.  This implies `--bare`.\n \tCompared to `--bare`, `--mirror` not only maps local branches of the\n \tsource to local branches of the target, it maps all refs (including\n-\tremote branches, notes etc.) and sets up a refspec configuration such\n+\tremote-tracking branches, notes etc.) and sets up a refspec configuration such\n \tthat all these refs are overwritten by a `git remote update` in the\n \ttarget repository.\n \ndiff --git a/Documentation/git-describe.txt b/Documentation/git-describe.txt\nindex 7ef9d51..02e015a 100644\n--- a/Documentation/git-describe.txt\n+++ b/Documentation/git-describe.txt\n@@ -37,7 +37,7 @@ OPTIONS\n --all::\n \tInstead of using only the annotated tags, use any ref\n \tfound in `.git/refs/`.  This option enables matching\n-\tany known branch, remote branch, or lightweight tag.\n+\tany known branch, remote-tracking branch, or lightweight tag.\n \n --tags::\n \tInstead of using only the annotated tags, use any tag\ndiff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt\nindex d7835ca..d70f3e0 100644\n--- a/Documentation/user-manual.txt\n+++ b/Documentation/user-manual.txt\n@@ -1724,7 +1724,8 @@ accomplish the above with just a simple\n $ git pull\n -------------------------------------------------\n \n-More generally, a branch that is created from a remote branch will pull\n+More generally, a branch that is created from a remote-tracking branch\n+will pull\n by default from that branch.  See the descriptions of the\n branch.<name>.remote and branch.<name>.merge options in\n linkgit:git-config[1], and the discussion of the `--track` option in\n@@ -2106,7 +2107,7 @@ $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git\n $ cd work\n -------------------------------------------------\n \n-Linus's tree will be stored in the remote branch named origin/master,\n+Linus's tree will be stored in the remote-tracking branch named origin/master,\n and can be updated using linkgit:git-fetch[1]; you can track other\n public trees using linkgit:git-remote[1] to set up a \"remote\" and\n linkgit:git-fetch[1] to keep them up-to-date; see\n@@ -2800,8 +2801,8 @@ Be aware that commits that the old version of example/master pointed at\n may be lost, as we saw in the previous section.\n \n [[remote-branch-configuration]]\n-Configuring remote branches\n----------------------------\n+Configuring remote-tracking branches\n+------------------------------------\n \n We saw above that \"origin\" is just a shortcut to refer to the\n repository that you originally cloned from.  This information is\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154381","messageId":"1287986922-16308-8-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 07/10] Change incorrect \"remote branch\" to \"remote tracking branch\" in C code","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-25T06:08:39Z","receivedAt":"2010-10-25T06:08:39Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"(Just like we did for documentation already)\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n branch.h                               |    2 +-\n builtin/fetch.c                        |    2 +-\n builtin/remote.c                       |    6 +++---\n contrib/examples/builtin-fetch--tool.c |    2 +-\n t/t5505-remote.sh                      |    8 +++++---\n t/t7608-merge-messages.sh              |    2 +-\n 6 files changed, 12 insertions(+), 10 deletions(-)\n\ndiff --git a/branch.h b/branch.h\nindex eed817a..2004632 100644\n--- a/branch.h\n+++ b/branch.h\n@@ -22,7 +22,7 @@ void create_branch(const char *head, const char *name, const char *start_name,\n void remove_branch_state(void);\n \n /*\n- * Configure local branch \"local\" to merge remote branch \"remote\"\n+ * Configure local branch \"local\" to merge remote-tracking branch \"remote\"\n  * taken from origin \"origin\".\n  */\n #define BRANCH_CONFIG_VERBOSE 01\ndiff --git a/builtin/fetch.c b/builtin/fetch.c\nindex 3b0b614..4243ef0 100644\n--- a/builtin/fetch.c\n+++ b/builtin/fetch.c\n@@ -359,7 +359,7 @@ static int store_updated_refs(const char *raw_url, const char *remote_name,\n \t\t\twhat = rm->name + 10;\n \t\t}\n \t\telse if (!prefixcmp(rm->name, \"refs/remotes/\")) {\n-\t\t\tkind = \"remote branch\";\n+\t\t\tkind = \"remote-tracking branch\";\n \t\t\twhat = rm->name + 13;\n \t\t}\n \t\telse {\ndiff --git a/builtin/remote.c b/builtin/remote.c\nindex e9a6e09..6a06282 100644\n--- a/builtin/remote.c\n+++ b/builtin/remote.c\n@@ -507,7 +507,7 @@ static int add_branch_for_removal(const char *refname,\n \t\t\treturn 0;\n \t}\n \n-\t/* don't delete non-remote refs */\n+\t/* don't delete non-remote-tracking refs */\n \tif (prefixcmp(refname, \"refs/remotes\")) {\n \t\t/* advise user how to delete local branches */\n \t\tif (!prefixcmp(refname, \"refs/heads/\"))\n@@ -791,9 +791,9 @@ static int rm(int argc, const char **argv)\n \n \tif (skipped.nr) {\n \t\tfprintf(stderr, skipped.nr == 1 ?\n-\t\t\t\"Note: A non-remote branch was not removed; \"\n+\t\t\t\"Note: A branch outside the refs/remotes/ hierarchy was not removed;\\n\"\n \t\t\t\"to delete it, use:\\n\" :\n-\t\t\t\"Note: Non-remote branches were not removed; \"\n+\t\t\t\"Note: Some branches outside the refs/remotes/ hierarchy were not removed;\\n\"\n \t\t\t\"to delete them, use:\\n\");\n \t\tfor (i = 0; i < skipped.nr; i++)\n \t\t\tfprintf(stderr, \"  git branch -d %s\\n\",\ndiff --git a/contrib/examples/builtin-fetch--tool.c b/contrib/examples/builtin-fetch--tool.c\nindex cd10dbc..3140e40 100644\n--- a/contrib/examples/builtin-fetch--tool.c\n+++ b/contrib/examples/builtin-fetch--tool.c\n@@ -148,7 +148,7 @@ static int append_fetch_head(FILE *fp,\n \t\twhat = remote_name + 10;\n \t}\n \telse if (!strncmp(remote_name, \"refs/remotes/\", 13)) {\n-\t\tkind = \"remote branch\";\n+\t\tkind = \"remote-tracking branch\";\n \t\twhat = remote_name + 13;\n \t}\n \telse {\ndiff --git a/t/t5505-remote.sh b/t/t5505-remote.sh\nindex 5d1c66e..d189add 100755\n--- a/t/t5505-remote.sh\n+++ b/t/t5505-remote.sh\n@@ -107,16 +107,18 @@ test_expect_success 'remove remote' '\n )\n '\n \n-test_expect_success 'remove remote protects non-remote branches' '\n+test_expect_success 'remove remote protects local branches' '\n (\n \tcd test &&\n \t{ cat >expect1 <<EOF\n-Note: A non-remote branch was not removed; to delete it, use:\n+Note: A branch outside the refs/remotes/ hierarchy was not removed;\n+to delete it, use:\n   git branch -d master\n EOF\n \t} &&\n \t{ cat >expect2 <<EOF\n-Note: Non-remote branches were not removed; to delete them, use:\n+Note: Some branches outside the refs/remotes/ hierarchy were not removed;\n+to delete them, use:\n   git branch -d foobranch\n   git branch -d master\n EOF\ndiff --git a/t/t7608-merge-messages.sh b/t/t7608-merge-messages.sh\nindex 28d5679..1c71296 100755\n--- a/t/t7608-merge-messages.sh\n+++ b/t/t7608-merge-messages.sh\n@@ -47,7 +47,7 @@ test_expect_success 'ambiguous tag' '\n \tcheck_oneline \"Merge commit QambiguousQ\"\n '\n \n-test_expect_success 'remote branch' '\n+test_expect_success 'remote-tracking branch' '\n \tgit checkout -b remote master &&\n \ttest_commit remote-1 &&\n \tgit update-ref refs/remotes/origin/master remote &&\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154389","messageId":"1287986922-16308-9-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 08/10] Use 'remote-tracking branch' in generated merge messages","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-25T06:08:40Z","receivedAt":"2010-10-25T06:08:40Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n builtin/fmt-merge-msg.c           |    6 +++---\n builtin/merge.c                   |    2 +-\n t/t1507-rev-parse-upstream.sh     |    2 +-\n t/t3409-rebase-preserve-merges.sh |    2 +-\n t/t7608-merge-messages.sh         |    2 +-\n 5 files changed, 7 insertions(+), 7 deletions(-)\n\ndiff --git a/builtin/fmt-merge-msg.c b/builtin/fmt-merge-msg.c\nindex 78c7774..5189b16 100644\n--- a/builtin/fmt-merge-msg.c\n+++ b/builtin/fmt-merge-msg.c\n@@ -100,8 +100,8 @@ static int handle_line(char *line)\n \t\torigin = line;\n \t\tstring_list_append(&src_data->tag, origin + 4);\n \t\tsrc_data->head_status |= 2;\n-\t} else if (!prefixcmp(line, \"remote branch \")) {\n-\t\torigin = line + 14;\n+\t} else if (!prefixcmp(line, \"remote-tracking branch \")) {\n+\t\torigin = line + strlen(\"remote-tracking branch \");\n \t\tstring_list_append(&src_data->r_branch, origin);\n \t\tsrc_data->head_status |= 2;\n \t} else {\n@@ -233,7 +233,7 @@ static void do_fmt_merge_msg_title(struct strbuf *out,\n \t\tif (src_data->r_branch.nr) {\n \t\t\tstrbuf_addstr(out, subsep);\n \t\t\tsubsep = \", \";\n-\t\t\tprint_joined(\"remote branch \", \"remote branches \",\n+\t\t\tprint_joined(\"remote-tracking branch \", \"remote-tracking branches \",\n \t\t\t\t\t&src_data->r_branch, out);\n \t\t}\n \t\tif (src_data->tag.nr) {\ndiff --git a/builtin/merge.c b/builtin/merge.c\nindex 10f091b..9ec13f1 100644\n--- a/builtin/merge.c\n+++ b/builtin/merge.c\n@@ -403,7 +403,7 @@ static void merge_name(const char *remote, struct strbuf *msg)\n \t\t\tgoto cleanup;\n \t\t}\n \t\tif (!prefixcmp(found_ref, \"refs/remotes/\")) {\n-\t\t\tstrbuf_addf(msg, \"%s\\t\\tremote branch '%s' of .\\n\",\n+\t\t\tstrbuf_addf(msg, \"%s\\t\\tremote-tracking branch '%s' of .\\n\",\n \t\t\t\t    sha1_to_hex(branch_head), remote);\n \t\t\tgoto cleanup;\n \t\t}\ndiff --git a/t/t1507-rev-parse-upstream.sh b/t/t1507-rev-parse-upstream.sh\nindex 8c8dfda..a455551 100755\n--- a/t/t1507-rev-parse-upstream.sh\n+++ b/t/t1507-rev-parse-upstream.sh\n@@ -85,7 +85,7 @@ test_expect_success 'merge my-side@{u} records the correct name' '\n \tgit branch -t new my-side@{u} &&\n \tgit merge -s ours new@{u} &&\n \tgit show -s --pretty=format:%s >actual &&\n-\techo \"Merge remote branch ${sq}origin/side${sq}\" >expect &&\n+\techo \"Merge remote-tracking branch ${sq}origin/side${sq}\" >expect &&\n \ttest_cmp expect actual\n )\n '\ndiff --git a/t/t3409-rebase-preserve-merges.sh b/t/t3409-rebase-preserve-merges.sh\nindex 74161a4..19341e5 100755\n--- a/t/t3409-rebase-preserve-merges.sh\n+++ b/t/t3409-rebase-preserve-merges.sh\n@@ -72,7 +72,7 @@ test_expect_success 'rebase -p fakes interactive rebase' '\n \tgit fetch &&\n \tgit rebase -p origin/topic &&\n \ttest 1 = $(git rev-list --all --pretty=oneline | grep \"Modify A\" | wc -l) &&\n-\ttest 1 = $(git rev-list --all --pretty=oneline | grep \"Merge remote branch \" | wc -l)\n+\ttest 1 = $(git rev-list --all --pretty=oneline | grep \"Merge remote-tracking branch \" | wc -l)\n \t)\n '\n \ndiff --git a/t/t7608-merge-messages.sh b/t/t7608-merge-messages.sh\nindex 1c71296..9225fa6 100755\n--- a/t/t7608-merge-messages.sh\n+++ b/t/t7608-merge-messages.sh\n@@ -54,7 +54,7 @@ test_expect_success 'remote-tracking branch' '\n \tgit checkout master &&\n \ttest_commit master-5 &&\n \tgit merge origin/master &&\n-\tcheck_oneline \"Merge remote branch Qorigin/masterQ\"\n+\tcheck_oneline \"Merge remote-tracking branch Qorigin/masterQ\"\n '\n \n test_done\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154380","messageId":"1287986922-16308-10-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 09/10] user-manual.txt: explain better the remote(-tracking) branch terms","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-25T06:08:41Z","receivedAt":"2010-10-25T06:08:41Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"Now that the documentation is mostly consistant in the use of \"remote\nbranch\" Vs \"remote-tracking branch\", let's make this distinction explicit\nearly in the user-manual.\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/user-manual.txt |   17 +++++++++++++++--\n 1 files changed, 15 insertions(+), 2 deletions(-)\n\ndiff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt\nindex d70f3e0..6684a78 100644\n--- a/Documentation/user-manual.txt\n+++ b/Documentation/user-manual.txt\n@@ -359,6 +359,14 @@ $ git branch -r\n   origin/todo\n ------------------------------------------------\n \n+In this case, \"origin\" is called a remote repository, or \"remote\" for\n+short. The branches of this repository are called \"remote branches\"\n+from our point of view, and Git will keep a copy of these\n+branches, called \"remote-tracking branches\" in the local repository.\n+These remote-tracking branches are references that will be updated by\n+\"git fetch\" (hence by \"git pull\"). See\n+<<Updating-a-repository-With-git-fetch>> for details.\n+\n You cannot check out these remote-tracking branches, but you can\n examine them on a branch of your own, just as you would a tag:\n \n@@ -1716,14 +1724,19 @@ one step:\n $ git pull origin master\n -------------------------------------------------\n \n-In fact, if you have \"master\" checked out, then by default \"git pull\"\n-merges from the HEAD branch of the origin repository.  So often you can\n+In fact, if you have \"master\" checked out, then this branch has been\n+configured by \"git clone\" to get changes from the HEAD branch of the\n+origin repository.  So often you can\n accomplish the above with just a simple\n \n -------------------------------------------------\n $ git pull\n -------------------------------------------------\n \n+This command will fetch the changes from the remote branches to your\n+remote-tracking branches `origin/*`, and merge default branch in the\n+current branch.\n+\n More generally, a branch that is created from a remote-tracking branch\n will pull\n by default from that branch.  See the descriptions of the\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154379","messageId":"1287986922-16308-11-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 10/10] git-branch.txt: mention --set-upstream as a way to change upstream configuration","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-25T06:08:42Z","receivedAt":"2010-10-25T06:08:42Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/git-branch.txt |    3 ++-\n 1 files changed, 2 insertions(+), 1 deletions(-)\n\ndiff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt\nindex 7f23c56..9106d38 100644\n--- a/Documentation/git-branch.txt\n+++ b/Documentation/git-branch.txt\n@@ -41,7 +41,8 @@ When a local branch is started off a remote-tracking branch, git sets up the\n branch so that 'git pull' will appropriately merge from\n the remote-tracking branch. This behavior may be changed via the global\n `branch.autosetupmerge` configuration flag. That setting can be\n-overridden by using the `--track` and `--no-track` options.\n+overridden by using the `--track` and `--no-track` options, and\n+changed later using `git branch --set-upstream`.\n \n With a '-m' or '-M' option, <oldbranch> will be renamed to <newbranch>.\n If <oldbranch> had a corresponding reflog, it is renamed to match\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154419","messageId":"vpqsjzu5gf3.fsf@bauges.imag.fr","threadId":"25535","inReplyTo":"20101023191104.GM21040@burratino","subject":"Re: [PATCH 00/11] More consistant terminology (\"remote-tracking branch\", \"not updated\")","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2010-10-25T17:30:08Z","receivedAt":"2010-10-25T17:30:08Z","isPatch":true,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Jonathan Nieder <jrnieder@gmail.com> writes:\n\n> Jakub Narebski wrote:\n>> Matthieu Moy <Matthieu.Moy@imag.fr> writes:\n>\n>>> this is an attempt to be more consistant in the terminology used in Git.\n>>\n>> Thank you very much for your work!\n>\n> Yes, seconded!  \n\nActually, I did the easy part ;-) (easy grep-able patterns, and\nuncontroversal solution).\n\nThere's still a mess about the \"upstream/downstream\" Vs\n\"remote-tracking\" terminology, both in the UI (--track options here\nand there) and the doc.\n\nAnd I'd really like the \"index/cache/stage\" thing to be fixed too. I\nlike \"stage/staging area\" best, but it seems this part does not make a\nconsensus (yet?).\n\nI'm just hoping I gave the right example and someone else will now\ntake care of these two ;-).\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"154420","messageId":"1288029150.819.78.camel@drew-northup.unet.maine.edu","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"Re: [PATCH 00/11] More consistant terminology (\"remote-tracking branch\", \"not updated\")","fromName":"Drew Northup","fromEmail":"drew.northup@maine.edu","sentAt":"2010-10-25T17:52:30Z","receivedAt":"2010-10-25T17:52:30Z","isPatch":true,"sender":{"key":"drew.northup@maine.edu","avatar":"https://avatars.githubusercontent.com/u/18331571?v=4"},"body":"\nOn Sat, 2010-10-23 at 18:31 +0200, Matthieu Moy wrote:\n> Following the discussion in\n> \n> http://thread.gmane.org/gmane.comp.version-control.git/159287/\n> http://thread.gmane.org/gmane.comp.version-control.git/159287/focus=159288\n> \n> this is an attempt to be more consistant in the terminology used in Git.\n> \n> The first patch fixes git status's \"changed but not updated\", and the\n> rest tries to use \"remote-tracking branch\" consistantly. This\n> essentially changes the doc, and also does slight modifications to the\n> code. This changes error message, and maybe more controversially the\n> generated merge messages (in a separate patch in case this is too\n> controversial).\n> \n> I've tried splitting this into systematic changes to ease review, but\n> patches should be applicable in any order (i.e. Junio: if you find\n> some of the patches good and uncontroversial, you can pick them\n> right away).\n> \n> Patch \"user-manual.txt: explain better the remote(-tracking) branch\n> terms\" comes last, and adds a few sentences to make the distinction\n> between remote, remote branch, remote-tracking branches explicit.\n> Hopefully, this should avoid future users to have the same\n> difficulties as Thore ;-).\n> \n> The last 2 patches are minor things I noticed while going through the\n> docs, but are essentially unrelated.\n> \n> I'll be busy next week, so if anyone else wants to pick this patch\n> serie and update it according to list review, he's welcome. Otherwise,\n> it may have to wait.\n> \n> Matthieu Moy (11):\n>   Better \"Changed but not updated\" message in git-status\n>   Remplace \"remote tracking\" with \"remote-tracking\"\n>   Change remote tracking to remote-tracking in non-trivial places\n>   Change \"tracking branch\" to \"remote-tracking branch\"\n>   Change \"tracking branch\" to \"remote-tracking branch\" in C code\n>   Change incorrect uses of \"remote branch\" meaning \"remote-tracking\"\n>   Change incorrect \"remote branch\" to \"remote tracking branch\" in C\n>     code\n>   Use 'remote-tracking branch' in generated merge messages\n>   user-manual.txt: explain better the remote(-tracking) branch terms\n>   git-branch.txt: mention --set-upstream as a way to change upstream\n>     configuration\n>   git-http-push.txt: fix typo (branch -> branches)\n\nI'm going to apply these to a branch of mine to see how they read in\ncontext before I come to any definite conclusions. So far I like what I\nsee for the most part.\n\n-- \n-Drew Northup N1XIM\n   AKA RvnPhnx on OPN\n________________________________________________\n\"As opposed to vegetable or mineral error?\"\n-John Pescatore, SANS NewsBites Vol. 12 Num. 59\n"},{"id":"154434","messageId":"vpqr5fdmywj.fsf@bauges.imag.fr","threadId":"25535","inReplyTo":"9A09AA7C-BAE2-4571-8453-17CB3F3256D4@gmail.com","subject":"Re: [PATCH 09/10] user-manual.txt: explain better the remote(-tracking) branch terms","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2010-10-26T03:11:08Z","receivedAt":"2010-10-26T03:11:08Z","isPatch":true,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Thore Husfeldt <thore.husfeldt@gmail.com> writes:\n\n\n>> \n>> diff --git a/Documentation/user-manual.txt\n> b/Documentation/user-manual.txt\n>> index d70f3e0..02126f1 100644\n>> --- a/Documentation/user-manual.txt\n>> +++ b/Documentation/user-manual.txt\n>> @@ -359,6 +359,11 @@ $ git branch -r\n>>   origin/todo\n>> ------------------------------------------------\n>> \n>> +In this case, \"origin\" is called a remote repository, or \"remote\"\n> for\n>> +short. The branches of this repository are called \"remote branches\"\n>> +from our point of view, and Git will maintain a copy of these\n>> +branches, called \"remote-tracking branches\" in the local\n> repository.\n>\n> No. Git does not “maintain a copy of [the remote] branches”.\n\nWhich part of the sentence is problematic to you ?\n\nRemote-tracking branches _are_ a copy of the branches. The copy is\nmade at \"git clone\" time, and is periodically updated with \"git fetch\"\nlater. And it seems to me that \"periodically update\" is a way to\n\"maintain\" the copy up-to-date.\n\nIn the latest version of the patch, I changed \"maintain\" to \"keep\",\nfollowing Jakub's remark. Is that better?\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"154435","messageId":"buoy69llhbk.fsf@dhlpc061.dev.necel.com","threadId":"25535","inReplyTo":"vpqr5fdmywj.fsf@bauges.imag.fr","subject":"Re: [PATCH 09/10] user-manual.txt: explain better the remote(-tracking) branch terms","fromName":"Miles Bader","fromEmail":"miles@gnu.org","sentAt":"2010-10-26T04:16:15Z","receivedAt":"2010-10-26T04:16:15Z","isPatch":true,"sender":{"key":"miles@gnu.org","avatar":"https://gravatar.com/avatar/01069b69593af7bff28e2f97afeb3644ae6fe2f5f56cb3a8cf34c5fb8c36efe5?d=mp&s=160"},"body":"Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> writes:\n>> No. Git does not “maintain a copy of [the remote] branches”.\n>\n> Which part of the sentence is problematic to you ?\n>\n> Remote-tracking branches _are_ a copy of the branches. The copy is\n> made at \"git clone\" time, and is periodically updated with \"git fetch\"\n> later. And it seems to me that \"periodically update\" is a way to\n> \"maintain\" the copy up-to-date.\n>\n> In the latest version of the patch, I changed \"maintain\" to \"keep\",\n> following Jakub's remark. Is that better?\n\nYup.\n\nAs far as I can tell, Thore's complaint is that the copy is not kept\nperfectly up-to-date automatically, but I think he's incorrect to assume\nthat the language here implies that.  It doesn't.  \"Maintaining a copy\"\nsimply means to keep a copy, so your change seems valid, though.\n\nI supposes git is also used by many people with a less-than-perfect\ncommand of english though, so perhaps using simpler language is\nsometimes warranted...\n\n-Miles\n\n-- \nOcean, n. A body of water covering seven-tenths of a world designed for Man -\nwho has no gills.\n"},{"id":"154436","messageId":"AANLkTiky=FiLX=FQL5V66FW_t4yeHjAxE_JJyovTTw5u@mail.gmail.com","threadId":"25535","inReplyTo":"1287986922-16308-10-git-send-email-Matthieu.Moy@imag.fr","subject":"Re: [PATCH 09/10] user-manual.txt: explain better the remote(-tracking) branch terms","fromName":"Jay Soffian","fromEmail":"jaysoffian@gmail.com","sentAt":"2010-10-26T06:07:08Z","receivedAt":"2010-10-26T06:07:08Z","isPatch":true,"sender":{"key":"jaysoffian@gmail.com","avatar":"https://avatars.githubusercontent.com/u/155970?v=4"},"body":"On Mon, Oct 25, 2010 at 2:08 AM, Matthieu Moy <Matthieu.Moy@imag.fr> wrote:\n>  You cannot check out these remote-tracking branches, but you can\n>  examine them on a branch of your own, just as you would a tag:\n\nSuggestion: \"You do not commit directly to remote-tracking branches,\nbut you can examine them or create a branch from them, just as you\nwould a tag:\"\n\nj.\n"},{"id":"154437","messageId":"AANLkTinJQMSbW-bsEOS9610GXR7EtbESK_tLAfxt2ibK@mail.gmail.com","threadId":"25535","inReplyTo":"1287986922-16308-10-git-send-email-Matthieu.Moy@imag.fr","subject":"Re: [PATCH 09/10] user-manual.txt: explain better the remote(-tracking) branch terms","fromName":"Jay Soffian","fromEmail":"jaysoffian@gmail.com","sentAt":"2010-10-26T06:20:03Z","receivedAt":"2010-10-26T06:20:03Z","isPatch":true,"sender":{"key":"jaysoffian@gmail.com","avatar":"https://avatars.githubusercontent.com/u/155970?v=4"},"body":"On Mon, Oct 25, 2010 at 2:08 AM, Matthieu Moy <Matthieu.Moy@imag.fr> wrote:\n> +In this case, \"origin\" is called a remote repository, or \"remote\" for\n> +short. The branches of this repository are called \"remote branches\"\n> +from our point of view, and Git will keep a copy of these\n> +branches, called \"remote-tracking branches\" in the local repository.\n> +These remote-tracking branches are references that will be updated by\n> +\"git fetch\" (hence by \"git pull\"). See\n> +<<Updating-a-repository-With-git-fetch>> for details.\n\n\"...and Git will initially clone these branches into so-called\n\"remote-tracking branches\" in the local repository. Thereafter, the\nremote-tracking branches are updated upon fetching from[1] or pushing\nto the remote. ([1] which also includes pulling.)\n\nj.\n"},{"id":"154463","messageId":"vpqwrp438mp.fsf@bauges.imag.fr","threadId":"25535","inReplyTo":"AANLkTiky=FiLX=FQL5V66FW_t4yeHjAxE_JJyovTTw5u@mail.gmail.com","subject":"Re: [PATCH 09/10] user-manual.txt: explain better the remote(-tracking) branch terms","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2010-10-26T22:13:34Z","receivedAt":"2010-10-26T22:13:34Z","isPatch":true,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Jay Soffian <jaysoffian@gmail.com> writes:\n\n> On Mon, Oct 25, 2010 at 2:08 AM, Matthieu Moy <Matthieu.Moy@imag.fr> wrote:\n>>  You cannot check out these remote-tracking branches, but you can\n>>  examine them on a branch of your own, just as you would a tag:\n>\n> Suggestion: \"You do not commit directly to remote-tracking branches,\n> but you can examine them or create a branch from them, just as you\n> would a tag:\"\n\nThere was already a patch by Jonathan to fix that. I've integrated it\nin my patch serie, it will be in the next resend.\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"154464","messageId":"vpqr5fc38jh.fsf@bauges.imag.fr","threadId":"25535","inReplyTo":"20101023185112.GI21040@burratino","subject":"Re: [PATCH 05/10] Change \"tracking branch\" to \"remote-tracking branch\" in C code","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2010-10-26T22:15:30Z","receivedAt":"2010-10-26T22:15:30Z","isPatch":true,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Jonathan Nieder <jrnieder@gmail.com> writes:\n\n> Matthieu Moy wrote:\n>\n>> [Subject: [PATCH 05/10] Change \"tracking branch\" to \"remote-tracking branch\" in C code]\n>>\n>> (Just like we did for documentation already)\n>\n> Could be squashed with the previous in my opinion.  Comments\n> especially but also usage strings still feel like documentation.\n\nOups, I had missed this one.\n\nYes, why not. I'll do that in the next round.\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"154466","messageId":"vpqocag33mn.fsf@bauges.imag.fr","threadId":"25535","inReplyTo":"AANLkTinJQMSbW-bsEOS9610GXR7EtbESK_tLAfxt2ibK@mail.gmail.com","subject":"Re: [PATCH 09/10] user-manual.txt: explain better the remote(-tracking) branch terms","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2010-10-27T00:01:36Z","receivedAt":"2010-10-27T00:01:36Z","isPatch":true,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Jay Soffian <jaysoffian@gmail.com> writes:\n\n> On Mon, Oct 25, 2010 at 2:08 AM, Matthieu Moy <Matthieu.Moy@imag.fr> wrote:\n>> +In this case, \"origin\" is called a remote repository, or \"remote\" for\n>> +short. The branches of this repository are called \"remote branches\"\n>> +from our point of view, and Git will keep a copy of these\n>> +branches, called \"remote-tracking branches\" in the local repository.\n>> +These remote-tracking branches are references that will be updated by\n>> +\"git fetch\" (hence by \"git pull\"). See\n>> +<<Updating-a-repository-With-git-fetch>> for details.\n>\n> \"...and Git will initially clone these branches into so-called\n> \"remote-tracking branches\" in the local repository.\n\nI don't thinks it's a good idea to use the word \"clone\" here. \"clone\"\nis used for repository cloning, and I find it confusing to overload\nthe word for branches.\n\n> Thereafter, the\n> remote-tracking branches are updated upon fetching from[1] or pushing\n> to the remote. ([1] which also includes pulling.)\n\nI don't like the [1] kind of footnote within the text, but I forgot to\nmention that \"git push\" updates the remote-tracking in my text.\nThat'll be fixed in next version.\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"154467","messageId":"1288137965-22950-1-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"vpqocag33mn.fsf@bauges.imag.fr","subject":"[PATCH] user-manual.txt: explain better the remote(-tracking) branch terms","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-27T00:06:05Z","receivedAt":"2010-10-27T00:06:05Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"Now that the documentation is mostly consistant in the use of \"remote\nbranch\" Vs \"remote-tracking branch\", let's make this distinction explicit\nearly in the user-manual.\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/user-manual.txt |   20 +++++++++++++++++---\n 1 files changed, 17 insertions(+), 3 deletions(-)\n\ndiff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt\nindex d70f3e0..62b3788 100644\n--- a/Documentation/user-manual.txt\n+++ b/Documentation/user-manual.txt\n@@ -344,7 +344,8 @@ Examining branches from a remote repository\n The \"master\" branch that was created at the time you cloned is a copy\n of the HEAD in the repository that you cloned from.  That repository\n may also have had other branches, though, and your local repository\n-keeps branches which track each of those remote branches, which you\n+keeps branches which track each of those remote branches, called\n+remote-tracking branches, which you\n can view using the \"-r\" option to linkgit:git-branch[1]:\n \n ------------------------------------------------\n@@ -359,6 +360,14 @@ $ git branch -r\n   origin/todo\n ------------------------------------------------\n \n+In this case, \"origin\" is called a remote repository, or \"remote\" for\n+short. The branches of this repository are called \"remote branches\"\n+from our point of view. The remote-tracking branches are created in\n+the local repository at clone time, as a copy of the remote branches.\n+They are references that will be updated by \"git fetch\" (hence by \"git\n+pull\"), and by \"git push\". See\n+<<Updating-a-repository-With-git-fetch>> for details.\n+\n You cannot check out these remote-tracking branches, but you can\n examine them on a branch of your own, just as you would a tag:\n \n@@ -1716,14 +1725,19 @@ one step:\n $ git pull origin master\n -------------------------------------------------\n \n-In fact, if you have \"master\" checked out, then by default \"git pull\"\n-merges from the HEAD branch of the origin repository.  So often you can\n+In fact, if you have \"master\" checked out, then this branch has been\n+configured by \"git clone\" to get changes from the HEAD branch of the\n+origin repository.  So often you can\n accomplish the above with just a simple\n \n -------------------------------------------------\n $ git pull\n -------------------------------------------------\n \n+This command will fetch the changes from the remote branches to your\n+remote-tracking branches `origin/*`, and merge default branch in the\n+current branch.\n+\n More generally, a branch that is created from a remote-tracking branch\n will pull\n by default from that branch.  See the descriptions of the\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154604","messageId":"vpq1v7b84ja.fsf@bauges.imag.fr","threadId":"25535","inReplyTo":"20101023184853.GH21040@burratino","subject":"Re: [PATCH 04/10] Change \"tracking branch\" to \"remote-tracking branch\"","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2010-10-28T01:55:21Z","receivedAt":"2010-10-28T01:55:21Z","isPatch":true,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Jonathan Nieder <jrnieder@gmail.com> writes:\n\n> Matthieu Moy wrote:\n>\n>> --- a/Documentation/glossary-content.txt\n>> +++ b/Documentation/glossary-content.txt\n>> @@ -131,7 +131,7 @@ to point at the new commit.\n>>  \tyou have. In such these cases, you do not make a new <<def_merge,merge>>\n>>  \t<<def_commit,commit>> but instead just update to his\n>>  \trevision. This will happen frequently on a\n>> -\t<<def_tracking_branch,tracking branch>> of a remote\n>> +\t<<def_remote_tracking_branch,remote-tracking branch>> of a remote\n>>  \t<<def_repository,repository>>.\n>\n> Why not keep the anchor name, like so:\n>\n> \t<<def_tracking_branch,remote-tracking branch>>\n>\n> (for brevity and to keep old links valid)?\n\n(sorry, I had overlooked this message)\n\nWe could do that, but I don't think there are many links to the anchor\nfrom outside\n(http://www.google.com/search?q=link%3Ahttp%3A%2F%2Fwww.kernel.org%2Fpub%2Fsoftware%2Fscm%2Fgit%2Fdocs%2Fgitglossary.html\nsuggests there are none, but it seems to have missed at least the one\nin git(1)), and links would still point to the right page, if not to\nthe right anchor.\n\nYour proposal would break the regularity of anchor names, which I\nthink is more important than brievety.\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"154645","messageId":"1288290117-6734-1-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 00/10 v3] More consistant terminology (\"remote-tracking branch\", \"not updated\")","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-28T18:21:47Z","receivedAt":"2010-10-28T18:21:47Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"So, here's a v3 for the patch serie. Nothing very new, just minor\nimprovements (reword the user-manual change, keep the alphabetical\norder in gitglossary, ...)\n\nI think it's ready to cook in pu.\n\nJonathan Nieder (1):\n  user-manual: remote-tracking can be checked out, with detached HEAD\n\nMatthieu Moy (9):\n  Better \"Changed but not updated\" message in git-status\n  Replace \"remote tracking\" with \"remote-tracking\"\n  Change remote tracking to remote-tracking in non-trivial places\n  Change \"tracking branch\" to \"remote-tracking branch\"\n  Change incorrect uses of \"remote branch\" meaning \"remote-tracking\"\n  Change incorrect \"remote branch\" to \"remote tracking branch\" in C\n    code\n  Use 'remote-tracking branch' in generated merge messages\n  user-manual.txt: explain better the remote(-tracking) branch terms\n  git-branch.txt: mention --set-upstream as a way to change upstream\n    configuration\n\n Documentation/config.txt               |   13 +++++----\n Documentation/everyday.txt             |    6 ++--\n Documentation/fetch-options.txt        |    2 +-\n Documentation/git-branch.txt           |   14 ++++++----\n Documentation/git-checkout.txt         |    2 +-\n Documentation/git-clone.txt            |    2 +-\n Documentation/git-describe.txt         |    2 +-\n Documentation/git-fetch.txt            |    2 +-\n Documentation/git-gc.txt               |    6 ++--\n Documentation/git-log.txt              |    2 +-\n Documentation/git-pull.txt             |    8 +++---\n Documentation/git-remote.txt           |    6 ++--\n Documentation/git-tag.txt              |    4 +-\n Documentation/gittutorial-2.txt        |    2 +-\n Documentation/gittutorial.txt          |    6 ++--\n Documentation/glossary-content.txt     |   20 ++++++++--------\n Documentation/rev-list-options.txt     |    2 +-\n Documentation/user-manual.txt          |   40 +++++++++++++++++++++++--------\n branch.h                               |    2 +-\n builtin/checkout.c                     |    4 +-\n builtin/fetch.c                        |    6 ++--\n builtin/fmt-merge-msg.c                |    6 ++--\n builtin/merge.c                        |    2 +-\n builtin/remote.c                       |    6 ++--\n contrib/examples/builtin-fetch--tool.c |    2 +-\n remote.c                               |    2 +-\n t/t1507-rev-parse-upstream.sh          |    2 +-\n t/t3409-rebase-preserve-merges.sh      |    2 +-\n t/t5400-send-pack.sh                   |    2 +-\n t/t5505-remote.sh                      |    8 ++++--\n t/t5513-fetch-track.sh                 |    2 +-\n t/t7508-status.sh                      |   34 +++++++++++++-------------\n t/t7608-merge-messages.sh              |    4 +-\n wt-status.c                            |    2 +-\n 34 files changed, 124 insertions(+), 101 deletions(-)\n\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154657","messageId":"1288290117-6734-2-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 01/10] Better \"Changed but not updated\" message in git-status","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-28T18:21:48Z","receivedAt":"2010-10-28T18:21:48Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"Older Gits talked about \"updating\" a file to add its content to the\nindex, but this terminology is confusing for new users. \"to stage\" is far\nmore intuitive and already used in e.g. the \"git stage\" command name.\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/gittutorial-2.txt |    2 +-\n t/t7508-status.sh               |   34 +++++++++++++++++-----------------\n wt-status.c                     |    2 +-\n 3 files changed, 19 insertions(+), 19 deletions(-)\n\ndiff --git a/Documentation/gittutorial-2.txt b/Documentation/gittutorial-2.txt\nindex ecab0c0..7fe5848 100644\n--- a/Documentation/gittutorial-2.txt\n+++ b/Documentation/gittutorial-2.txt\n@@ -373,7 +373,7 @@ $ git status\n #\n #       new file: closing.txt\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #\n #       modified: file.txt\ndiff --git a/t/t7508-status.sh b/t/t7508-status.sh\nindex c9300f3..4de3e27 100755\n--- a/t/t7508-status.sh\n+++ b/t/t7508-status.sh\n@@ -44,7 +44,7 @@ cat >expect <<\\EOF\n #\n #\tnew file:   dir2/added\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -73,7 +73,7 @@ cat >expect <<\\EOF\n # Changes to be committed:\n #\tnew file:   dir2/added\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #\tmodified:   dir1/modified\n #\n # Untracked files:\n@@ -140,7 +140,7 @@ cat >expect <<EOF\n #\n #\tnew file:   dir2/added\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -167,7 +167,7 @@ cat >expect <<EOF\n # Changes to be committed:\n #\tnew file:   dir2/added\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #\tmodified:   dir1/modified\n #\n # Untracked files not listed\n@@ -202,7 +202,7 @@ cat >expect <<EOF\n #\n #\tnew file:   dir2/added\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -260,7 +260,7 @@ cat >expect <<EOF\n #\n #\tnew file:   dir2/added\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -320,7 +320,7 @@ cat >expect <<\\EOF\n #\n #\tnew file:   ../dir2/added\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -392,7 +392,7 @@ cat >expect <<\\EOF\n #\n #\t<GREEN>new file:   dir2/added<RESET>\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -521,7 +521,7 @@ cat >expect <<\\EOF\n #\n #\tnew file:   dir2/added\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -614,7 +614,7 @@ cat >expect <<EOF\n #\tnew file:   dir2/added\n #\tnew file:   sm\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -673,7 +673,7 @@ cat >expect <<EOF\n #\tnew file:   dir2/added\n #\tnew file:   sm\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -718,7 +718,7 @@ test_expect_success 'status -s submodule summary' '\n \n cat >expect <<EOF\n # On branch master\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -766,7 +766,7 @@ cat >expect <<EOF\n #\tnew file:   dir2/added\n #\tnew file:   sm\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -819,7 +819,7 @@ cat > expect << EOF\n #\n #\tmodified:   sm\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -931,7 +931,7 @@ cat > expect << EOF\n #\n #\tmodified:   sm\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #   (commit or discard the untracked or modified content in submodules)\n@@ -989,7 +989,7 @@ cat > expect << EOF\n #\n #\tmodified:   sm\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -1067,7 +1067,7 @@ test_expect_success \".git/config ignore=dirty doesn't suppress submodule summary\n \n cat > expect << EOF\n # On branch master\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\ndiff --git a/wt-status.c b/wt-status.c\nindex fc2438f..d9f3d9f 100644\n--- a/wt-status.c\n+++ b/wt-status.c\n@@ -88,7 +88,7 @@ static void wt_status_print_dirty_header(struct wt_status *s,\n {\n \tconst char *c = color(WT_STATUS_HEADER, s);\n \n-\tcolor_fprintf_ln(s->fp, c, \"# Changed but not updated:\");\n+\tcolor_fprintf_ln(s->fp, c, \"# Changes not staged for commit:\");\n \tif (!advice_status_hints)\n \t\treturn;\n \tif (!has_deleted)\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154646","messageId":"1288290117-6734-3-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 02/10] Replace \"remote tracking\" with \"remote-tracking\"","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-28T18:21:49Z","receivedAt":"2010-10-28T18:21:49Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"\"remote-tracking\" branch makes it explicit that the branch is \"tracking a\nremote\", as opposed to \"remote, and tracking something\".\n\nSee discussion in e.g.\nhttp://mid.gmane.org/8835ADF9-45E5-4A26-9F7F-A72ECC065BB2@gmail.com\nfor more details.\n\nThis patch is a straightforward application of\n\n  perl -pi -e 's/remote tracking branch/remote-tracking branch/'\n\nexcept in the RelNotes directory.\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/config.txt           |    2 +-\n Documentation/fetch-options.txt    |    2 +-\n Documentation/git-log.txt          |    2 +-\n Documentation/git-pull.txt         |    2 +-\n Documentation/git-remote.txt       |    4 ++--\n Documentation/gittutorial.txt      |    2 +-\n Documentation/rev-list-options.txt |    2 +-\n Documentation/user-manual.txt      |    2 +-\n builtin/checkout.c                 |    2 +-\n t/t5513-fetch-track.sh             |    2 +-\n 10 files changed, 11 insertions(+), 11 deletions(-)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 538ebb5..e625d6a 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -708,7 +708,7 @@ color.diff.<slot>::\n color.decorate.<slot>::\n \tUse customized color for 'git log --decorate' output.  `<slot>` is one\n \tof `branch`, `remoteBranch`, `tag`, `stash` or `HEAD` for local\n-\tbranches, remote tracking branches, tags, stash and HEAD, respectively.\n+\tbranches, remote-tracking branches, tags, stash and HEAD, respectively.\n \n color.grep::\n \tWhen set to `always`, always highlight matches.  When `false` (or\ndiff --git a/Documentation/fetch-options.txt b/Documentation/fetch-options.txt\nindex 470ac31..a435c23 100644\n--- a/Documentation/fetch-options.txt\n+++ b/Documentation/fetch-options.txt\n@@ -36,7 +36,7 @@ ifndef::git-pull[]\n \n -p::\n --prune::\n-\tAfter fetching, remove any remote tracking branches which\n+\tAfter fetching, remove any remote-tracking branches which\n \tno longer exist\ton the remote.\n endif::git-pull[]\n \ndiff --git a/Documentation/git-log.txt b/Documentation/git-log.txt\nindex 6d40f00..ff41784 100644\n--- a/Documentation/git-log.txt\n+++ b/Documentation/git-log.txt\n@@ -116,7 +116,7 @@ git log --follow builtin-rev-list.c::\n git log --branches --not --remotes=origin::\n \n \tShows all commits that are in any of local branches but not in\n-\tany of remote tracking branches for 'origin' (what you have that\n+\tany of remote-tracking branches for 'origin' (what you have that\n \torigin doesn't).\n \n git log master --not --remotes=*/master::\ndiff --git a/Documentation/git-pull.txt b/Documentation/git-pull.txt\nindex c50f7dc..33e8438 100644\n--- a/Documentation/git-pull.txt\n+++ b/Documentation/git-pull.txt\n@@ -26,7 +26,7 @@ With `--rebase`, it runs 'git rebase' instead of 'git merge'.\n <repository> should be the name of a remote repository as\n passed to linkgit:git-fetch[1].  <refspec> can name an\n arbitrary remote ref (for example, the name of a tag) or even\n-a collection of refs with corresponding remote tracking branches\n+a collection of refs with corresponding remote-tracking branches\n (e.g., refs/heads/*:refs/remotes/origin/*), but usually it is\n the name of a branch in the remote repository.\n \ndiff --git a/Documentation/git-remote.txt b/Documentation/git-remote.txt\nindex 0d28feb..5e4989d 100644\n--- a/Documentation/git-remote.txt\n+++ b/Documentation/git-remote.txt\n@@ -75,7 +75,7 @@ was passed.\n \n 'rename'::\n \n-Rename the remote named <old> to <new>. All remote tracking branches and\n+Rename the remote named <old> to <new>. All remote-tracking branches and\n configuration settings for the remote are updated.\n +\n In case <old> and <new> are the same, and <old> is a file under\n@@ -84,7 +84,7 @@ the configuration file format.\n \n 'rm'::\n \n-Remove the remote named <name>. All remote tracking branches and\n+Remove the remote named <name>. All remote-tracking branches and\n configuration settings for the remote are removed.\n \n 'set-head'::\ndiff --git a/Documentation/gittutorial.txt b/Documentation/gittutorial.txt\nindex 1c16066..f1f4086 100644\n--- a/Documentation/gittutorial.txt\n+++ b/Documentation/gittutorial.txt\n@@ -385,7 +385,7 @@ alice$ git fetch bob\n \n Unlike the longhand form, when Alice fetches from Bob using a\n remote repository shorthand set up with 'git remote', what was\n-fetched is stored in a remote tracking branch, in this case\n+fetched is stored in a remote-tracking branch, in this case\n `bob/master`.  So after this:\n \n -------------------------------------\ndiff --git a/Documentation/rev-list-options.txt b/Documentation/rev-list-options.txt\nindex 7a42567..7a1b164 100644\n--- a/Documentation/rev-list-options.txt\n+++ b/Documentation/rev-list-options.txt\n@@ -264,7 +264,7 @@ endif::git-rev-list[]\n \n \tPretend as if all the refs in `refs/remotes` are listed\n \ton the command line as '<commit>'. If '<pattern>' is given, limit\n-\tremote tracking branches to ones matching given shell glob.\n+\tremote-tracking branches to ones matching given shell glob.\n \tIf pattern lacks '?', '*', or '[', '/*' at the end is implied.\n \n --glob=<glob-pattern>::\ndiff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt\nindex fc56da6..d5505e8 100644\n--- a/Documentation/user-manual.txt\n+++ b/Documentation/user-manual.txt\n@@ -1700,7 +1700,7 @@ may wish to check the original repository for updates and merge them\n into your own work.\n \n We have already seen <<Updating-a-repository-With-git-fetch,how to\n-keep remote tracking branches up to date>> with linkgit:git-fetch[1],\n+keep remote-tracking branches up to date>> with linkgit:git-fetch[1],\n and how to merge two branches.  So you can merge in changes from the\n original repository's master branch with:\n \ndiff --git a/builtin/checkout.c b/builtin/checkout.c\nindex 9240faf..9a934af 100644\n--- a/builtin/checkout.c\n+++ b/builtin/checkout.c\n@@ -786,7 +786,7 @@ int cmd_checkout(int argc, const char **argv, const char *prefix)\n \t *   With no paths, if <something> is _not_ a commit, no -t nor -b\n \t *   was given, and there is a tracking branch whose name is\n \t *   <something> in one and only one remote, then this is a short-hand\n-\t *   to fork local <something> from that remote tracking branch.\n+\t *   to fork local <something> from that remote-tracking branch.\n \t *\n \t *   Otherwise <something> shall not be ambiguous.\n \t *   - If it's *only* a reference, treat it like case (1).\ndiff --git a/t/t5513-fetch-track.sh b/t/t5513-fetch-track.sh\nindex 9e74862..65d1e05 100755\n--- a/t/t5513-fetch-track.sh\n+++ b/t/t5513-fetch-track.sh\n@@ -1,6 +1,6 @@\n #!/bin/sh\n \n-test_description='fetch follows remote tracking branches correctly'\n+test_description='fetch follows remote-tracking branches correctly'\n \n . ./test-lib.sh\n \n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154647","messageId":"1288290117-6734-4-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 03/10] Change remote tracking to remote-tracking in non-trivial places","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-28T18:21:50Z","receivedAt":"2010-10-28T18:21:50Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"To complement the straightforward perl application in previous patch,\nthis adds a few manual changes.\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/everyday.txt    |    6 +++---\n Documentation/git-gc.txt      |    6 +++---\n Documentation/gittutorial.txt |    4 ++--\n t/t5400-send-pack.sh          |    2 +-\n 4 files changed, 9 insertions(+), 9 deletions(-)\n\ndiff --git a/Documentation/everyday.txt b/Documentation/everyday.txt\nindex e0ba8cc..ae413e5 100644\n--- a/Documentation/everyday.txt\n+++ b/Documentation/everyday.txt\n@@ -180,12 +180,12 @@ directory; clone from it to start a repository on the satellite\n machine.\n <2> clone sets these configuration variables by default.\n It arranges `git pull` to fetch and store the branches of mothership\n-machine to local `remotes/origin/*` tracking branches.\n+machine to local `remotes/origin/*` remote-tracking branches.\n <3> arrange `git push` to push local `master` branch to\n `remotes/satellite/master` branch of the mothership machine.\n <4> push will stash our work away on `remotes/satellite/master`\n-tracking branch on the mothership machine.  You could use this as\n-a back-up method.\n+remote-tracking branch on the mothership machine.  You could use this\n+as a back-up method.\n <5> on mothership machine, merge the work done on the satellite\n machine into the master branch.\n \ndiff --git a/Documentation/git-gc.txt b/Documentation/git-gc.txt\nindex 315f07e..801aede 100644\n--- a/Documentation/git-gc.txt\n+++ b/Documentation/git-gc.txt\n@@ -89,7 +89,7 @@ are not part of the current project most users will want to expire\n them sooner.  This option defaults to '30 days'.\n \n The above two configuration variables can be given to a pattern.  For\n-example, this sets non-default expiry values only to remote tracking\n+example, this sets non-default expiry values only to remote-tracking\n branches:\n \n ------------\n@@ -128,8 +128,8 @@ Notes\n \n 'git gc' tries very hard to be safe about the garbage it collects. In\n particular, it will keep not only objects referenced by your current set\n-of branches and tags, but also objects referenced by the index, remote\n-tracking branches, refs saved by 'git filter-branch' in\n+of branches and tags, but also objects referenced by the index,\n+remote-tracking branches, refs saved by 'git filter-branch' in\n refs/original/, or reflogs (which may reference commits in branches\n that were later amended or rewound).\n \ndiff --git a/Documentation/gittutorial.txt b/Documentation/gittutorial.txt\nindex f1f4086..0982f74 100644\n--- a/Documentation/gittutorial.txt\n+++ b/Documentation/gittutorial.txt\n@@ -402,8 +402,8 @@ could merge the changes into her master branch:\n alice$ git merge bob/master\n -------------------------------------\n \n-This `merge` can also be done by 'pulling from her own remote\n-tracking branch', like this:\n+This `merge` can also be done by 'pulling from her own remote-tracking\n+branch', like this:\n \n -------------------------------------\n alice$ git pull . remotes/bob/master\ndiff --git a/t/t5400-send-pack.sh b/t/t5400-send-pack.sh\nindex 5bcf0b8..b0b2684 100755\n--- a/t/t5400-send-pack.sh\n+++ b/t/t5400-send-pack.sh\n@@ -129,7 +129,7 @@ test_expect_success 'denyNonFastforwards trumps --force' '\n \ttest \"$victim_orig\" = \"$victim_head\"\n '\n \n-test_expect_success 'push --all excludes remote tracking hierarchy' '\n+test_expect_success 'push --all excludes remote-tracking hierarchy' '\n \tmkdir parent &&\n \t(\n \t    cd parent &&\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154656","messageId":"1288290117-6734-5-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 04/10] Change \"tracking branch\" to \"remote-tracking branch\"","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-28T18:21:51Z","receivedAt":"2010-10-28T18:21:51Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"One more step towards consistancy. We change the documentation and the C\ncode in a single patch, since the only instances in the C code are in\ncomment and usage strings.\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/config.txt           |    4 ++--\n Documentation/git-fetch.txt        |    2 +-\n Documentation/git-pull.txt         |    6 +++---\n Documentation/git-remote.txt       |    2 +-\n Documentation/git-tag.txt          |    4 ++--\n Documentation/glossary-content.txt |   20 ++++++++++----------\n Documentation/user-manual.txt      |    2 +-\n builtin/checkout.c                 |    2 +-\n builtin/fetch.c                    |    4 ++--\n remote.c                           |    2 +-\n 10 files changed, 24 insertions(+), 24 deletions(-)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex e625d6a..e4f16d8 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -680,7 +680,7 @@ color.branch::\n color.branch.<slot>::\n \tUse customized color for branch coloration. `<slot>` is one of\n \t`current` (the current branch), `local` (a local branch),\n-\t`remote` (a tracking branch in refs/remotes/), `plain` (other\n+\t`remote` (a remote-tracking branch in refs/remotes/), `plain` (other\n \trefs).\n +\n The value for these configuration variables is a list of colors (at most\n@@ -1102,7 +1102,7 @@ gui.newbranchtemplate::\n \tlinkgit:git-gui[1].\n \n gui.pruneduringfetch::\n-\t\"true\" if linkgit:git-gui[1] should prune tracking branches when\n+\t\"true\" if linkgit:git-gui[1] should prune remote-tracking branches when\n \tperforming a fetch. The default value is \"false\".\n \n gui.trustmtime::\ndiff --git a/Documentation/git-fetch.txt b/Documentation/git-fetch.txt\nindex d159e88..c76e313 100644\n--- a/Documentation/git-fetch.txt\n+++ b/Documentation/git-fetch.txt\n@@ -26,7 +26,7 @@ The ref names and their object names of fetched refs are stored\n in `.git/FETCH_HEAD`.  This information is left for a later merge\n operation done by 'git merge'.\n \n-When <refspec> stores the fetched result in tracking branches,\n+When <refspec> stores the fetched result in remote-tracking branches,\n the tags that point at these branches are automatically\n followed.  This is done by first fetching from the remote using\n the given <refspec>s, and if the repository has objects that are\ndiff --git a/Documentation/git-pull.txt b/Documentation/git-pull.txt\nindex 33e8438..54e7013 100644\n--- a/Documentation/git-pull.txt\n+++ b/Documentation/git-pull.txt\n@@ -134,7 +134,7 @@ and if there is not any such variable, the value on `URL: ` line\n in `$GIT_DIR/remotes/<origin>` file is used.\n \n In order to determine what remote branches to fetch (and\n-optionally store in the tracking branches) when the command is\n+optionally store in the remote-tracking branches) when the command is\n run without any refspec parameters on the command line, values\n of the configuration variable `remote.<origin>.fetch` are\n consulted, and if there aren't any, `$GIT_DIR/remotes/<origin>`\n@@ -147,9 +147,9 @@ refs/heads/*:refs/remotes/origin/*\n ------------\n \n A globbing refspec must have a non-empty RHS (i.e. must store\n-what were fetched in tracking branches), and its LHS and RHS\n+what were fetched in remote-tracking branches), and its LHS and RHS\n must end with `/*`.  The above specifies that all remote\n-branches are tracked using tracking branches in\n+branches are tracked using remote-tracking branches in\n `refs/remotes/origin/` hierarchy under the same name.\n \n The rule to determine which remote branch to merge after\ndiff --git a/Documentation/git-remote.txt b/Documentation/git-remote.txt\nindex 5e4989d..c258ea4 100644\n--- a/Documentation/git-remote.txt\n+++ b/Documentation/git-remote.txt\n@@ -146,7 +146,7 @@ With `-n` option, the remote heads are not queried first with\n \n 'prune'::\n \n-Deletes all stale tracking branches under <name>.\n+Deletes all stale remote-tracking branches under <name>.\n These stale branches have already been removed from the remote repository\n referenced by <name>, but are still locally available in\n \"remotes/<name>\".\ndiff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt\nindex 31c78a8..8b169e3 100644\n--- a/Documentation/git-tag.txt\n+++ b/Documentation/git-tag.txt\n@@ -177,7 +177,7 @@ On Automatic following\n ~~~~~~~~~~~~~~~~~~~~~~\n \n If you are following somebody else's tree, you are most likely\n-using tracking branches (`refs/heads/origin` in traditional\n+using remote-tracking branches (`refs/heads/origin` in traditional\n layout, or `refs/remotes/origin/master` in the separate-remote\n layout).  You usually want the tags from the other end.\n \n@@ -232,7 +232,7 @@ this case.\n It may well be that among networking people, they may want to\n exchange the tags internal to their group, but in that workflow\n they are most likely tracking with each other's progress by\n-having tracking branches.  Again, the heuristic to automatically\n+having remote-tracking branches.  Again, the heuristic to automatically\n follow such tags is a good thing.\n \n \ndiff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt\nindex 1f029f8..ba96b32 100644\n--- a/Documentation/glossary-content.txt\n+++ b/Documentation/glossary-content.txt\n@@ -131,7 +131,7 @@ to point at the new commit.\n \tyou have. In such these cases, you do not make a new <<def_merge,merge>>\n \t<<def_commit,commit>> but instead just update to his\n \trevision. This will happen frequently on a\n-\t<<def_tracking_branch,tracking branch>> of a remote\n+\t<<def_remote_tracking_branch,remote-tracking branch>> of a remote\n \t<<def_repository,repository>>.\n \n [[def_fetch]]fetch::\n@@ -260,7 +260,7 @@ This commit is referred to as a \"merge commit\", or sometimes just a\n \tThe default upstream <<def_repository,repository>>. Most projects have\n \tat least one upstream project which they track. By default\n \t'origin' is used for that purpose. New upstream updates\n-\twill be fetched into remote <<def_tracking_branch,tracking branches>> named\n+\twill be fetched into remote <<def_remote_tracking_branch,remote-tracking branches>> named\n \torigin/name-of-upstream-branch, which you can see using\n \t`git branch -r`.\n \n@@ -349,6 +349,14 @@ This commit is referred to as a \"merge commit\", or sometimes just a\n \tmaster branch head as to-upstream branch at $URL\". See also\n \tlinkgit:git-push[1].\n \n+[[def_remote_tracking_branch]]remote-tracking branch::\n+\tA regular git <<def_branch,branch>> that is used to follow changes from\n+\tanother <<def_repository,repository>>. A tracking\n+\tbranch should not contain direct modifications or have local commits\n+\tmade to it. A remote-tracking branch can usually be\n+\tidentified as the right-hand-side <<def_ref,ref>> in a Pull:\n+\t<<def_refspec,refspec>>.\n+\n [[def_repository]]repository::\n \tA collection of <<def_ref,refs>> together with an\n \t<<def_object_database,object database>> containing all objects\n@@ -418,14 +426,6 @@ This commit is referred to as a \"merge commit\", or sometimes just a\n \tthat each contain very well defined concepts or small incremental yet\n \trelated changes.\n \n-[[def_tracking_branch]]tracking branch::\n-\tA regular git <<def_branch,branch>> that is used to follow changes from\n-\tanother <<def_repository,repository>>. A tracking\n-\tbranch should not contain direct modifications or have local commits\n-\tmade to it. A tracking branch can usually be\n-\tidentified as the right-hand-side <<def_ref,ref>> in a Pull:\n-\t<<def_refspec,refspec>>.\n-\n [[def_tree]]tree::\n \tEither a <<def_working_tree,working tree>>, or a <<def_tree_object,tree\n \tobject>> together with the dependent <<def_blob_object,blob>> and tree objects\ndiff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt\nindex d5505e8..d7835ca 100644\n--- a/Documentation/user-manual.txt\n+++ b/Documentation/user-manual.txt\n@@ -435,7 +435,7 @@ linux-nfs/master\n origin/master\n -------------------------------------------------\n \n-If you run \"git fetch <remote>\" later, the tracking branches for the\n+If you run \"git fetch <remote>\" later, the remote-tracking branches for the\n named <remote> will be updated.\n \n If you examine the file .git/config, you will see that git has added\ndiff --git a/builtin/checkout.c b/builtin/checkout.c\nindex 9a934af..1fa9ce4 100644\n--- a/builtin/checkout.c\n+++ b/builtin/checkout.c\n@@ -784,7 +784,7 @@ int cmd_checkout(int argc, const char **argv, const char *prefix)\n \t *   between A and B, A...B names that merge base.\n \t *\n \t *   With no paths, if <something> is _not_ a commit, no -t nor -b\n-\t *   was given, and there is a tracking branch whose name is\n+\t *   was given, and there is a remote-tracking branch whose name is\n \t *   <something> in one and only one remote, then this is a short-hand\n \t *   to fork local <something> from that remote-tracking branch.\n \t *\ndiff --git a/builtin/fetch.c b/builtin/fetch.c\nindex d35f000..3b0b614 100644\n--- a/builtin/fetch.c\n+++ b/builtin/fetch.c\n@@ -52,7 +52,7 @@ static struct option builtin_fetch_options[] = {\n \tOPT_SET_INT('n', NULL, &tags,\n \t\t    \"do not fetch all tags (--no-tags)\", TAGS_UNSET),\n \tOPT_BOOLEAN('p', \"prune\", &prune,\n-\t\t    \"prune tracking branches no longer on remote\"),\n+\t\t    \"prune remote-tracking branches no longer on remote\"),\n \tOPT_BOOLEAN(0, \"dry-run\", &dry_run,\n \t\t    \"dry run\"),\n \tOPT_BOOLEAN('k', \"keep\", &keep, \"keep downloaded pack\"),\n@@ -98,7 +98,7 @@ static void add_merge_config(struct ref **head,\n \t\t\tcontinue;\n \n \t\t/*\n-\t\t * Not fetched to a tracking branch?  We need to fetch\n+\t\t * Not fetched to a remote-tracking branch?  We need to fetch\n \t\t * it anyway to allow this branch's \"branch.$name.merge\"\n \t\t * to be honored by 'git pull', but we do not have to\n \t\t * fail if branch.$name.merge is misconfigured to point\ndiff --git a/remote.c b/remote.c\nindex 9143ec7..ca42a12 100644\n--- a/remote.c\n+++ b/remote.c\n@@ -493,7 +493,7 @@ static void read_config(void)\n }\n \n /*\n- * We need to make sure the tracking branches are well formed, but a\n+ * We need to make sure the remote-tracking branches are well formed, but a\n  * wildcard refspec in \"struct refspec\" must have a trailing slash. We\n  * temporarily drop the trailing '/' while calling check_ref_format(),\n  * and put it back.  The caller knows that a CHECK_REF_FORMAT_ONELEVEL\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154650","messageId":"1288290117-6734-6-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 05/10] Change incorrect uses of \"remote branch\" meaning \"remote-tracking\"","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-28T18:21:52Z","receivedAt":"2010-10-28T18:21:52Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"\"remote branch\" is a branch hosted in a remote repository, while\n\"remote-tracking branch\" is a copy of such branch, hosted locally.\nThe distinction is subtle when the copy is up-to-date, but rather\nfundamental to understand what \"git fetch\" and \"git push\" do.\n\nThis patch should fix all incorrect usages in Documentation/ directory.\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/config.txt       |    7 ++++---\n Documentation/git-branch.txt   |   11 ++++++-----\n Documentation/git-checkout.txt |    2 +-\n Documentation/git-clone.txt    |    2 +-\n Documentation/git-describe.txt |    2 +-\n Documentation/user-manual.txt  |    9 +++++----\n 6 files changed, 18 insertions(+), 15 deletions(-)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex e4f16d8..6a6c0b5 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -601,8 +601,9 @@ branch.autosetupmerge::\n \tthis behavior can be chosen per-branch using the `--track`\n \tand `--no-track` options. The valid settings are: `false` -- no\n \tautomatic setup is done; `true` -- automatic setup is done when the\n-\tstarting point is a remote branch; `always` -- automatic setup is\n-\tdone when the starting point is either a local branch or remote\n+\tstarting point is a remote-tracking branch; `always` --\n+\tautomatic setup is done when the starting point is either a\n+\tlocal branch or remote-tracking\n \tbranch. This option defaults to true.\n \n branch.autosetuprebase::\n@@ -613,7 +614,7 @@ branch.autosetuprebase::\n \tWhen `local`, rebase is set to true for tracked branches of\n \tother local branches.\n \tWhen `remote`, rebase is set to true for tracked branches of\n-\tremote branches.\n+\tremote-tracking branches.\n \tWhen `always`, rebase will be set to true for all tracking\n \tbranches.\n \tSee \"branch.autosetupmerge\" for details on how to set up a\ndiff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt\nindex 1940256..7f23c56 100644\n--- a/Documentation/git-branch.txt\n+++ b/Documentation/git-branch.txt\n@@ -37,9 +37,9 @@ Note that this will create the new branch, but it will not switch the\n working tree to it; use \"git checkout <newbranch>\" to switch to the\n new branch.\n \n-When a local branch is started off a remote branch, git sets up the\n+When a local branch is started off a remote-tracking branch, git sets up the\n branch so that 'git pull' will appropriately merge from\n-the remote branch. This behavior may be changed via the global\n+the remote-tracking branch. This behavior may be changed via the global\n `branch.autosetupmerge` configuration flag. That setting can be\n overridden by using the `--track` and `--no-track` options.\n \n@@ -89,7 +89,8 @@ OPTIONS\n \tMove/rename a branch even if the new branch name already exists.\n \n --color[=<when>]::\n-\tColor branches to highlight current, local, and remote branches.\n+\tColor branches to highlight current, local, and\n+\tremote-tracking branches.\n \tThe value must be always (the default), never, or auto.\n \n --no-color::\n@@ -125,11 +126,11 @@ OPTIONS\n \tit directs `git pull` without arguments to pull from the\n \tupstream when the new branch is checked out.\n +\n-This behavior is the default when the start point is a remote branch.\n+This behavior is the default when the start point is a remote-tracking branch.\n Set the branch.autosetupmerge configuration variable to `false` if you\n want `git checkout` and `git branch` to always behave as if '--no-track'\n were given. Set it to `always` if you want this behavior when the\n-start-point is either a local or remote branch.\n+start-point is either a local or remote-tracking branch.\n \n --no-track::\n \tDo not set up \"upstream\" configuration, even if the\ndiff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt\nindex 22d3611..880763d 100644\n--- a/Documentation/git-checkout.txt\n+++ b/Documentation/git-checkout.txt\n@@ -98,7 +98,7 @@ entries; instead, unmerged entries are ignored.\n \t\"--track\" in linkgit:git-branch[1] for details.\n +\n If no '-b' option is given, the name of the new branch will be\n-derived from the remote branch.  If \"remotes/\" or \"refs/remotes/\"\n+derived from the remote-tracking branch.  If \"remotes/\" or \"refs/remotes/\"\n is prefixed it is stripped away, and then the part up to the\n next slash (which would be the nickname of the remote) is removed.\n This would tell us to use \"hack\" as the local branch when branching\ndiff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt\nindex ab72933..2320382 100644\n--- a/Documentation/git-clone.txt\n+++ b/Documentation/git-clone.txt\n@@ -131,7 +131,7 @@ objects from the source repository into a pack in the cloned repository.\n \tSet up a mirror of the source repository.  This implies `--bare`.\n \tCompared to `--bare`, `--mirror` not only maps local branches of the\n \tsource to local branches of the target, it maps all refs (including\n-\tremote branches, notes etc.) and sets up a refspec configuration such\n+\tremote-tracking branches, notes etc.) and sets up a refspec configuration such\n \tthat all these refs are overwritten by a `git remote update` in the\n \ttarget repository.\n \ndiff --git a/Documentation/git-describe.txt b/Documentation/git-describe.txt\nindex 7ef9d51..02e015a 100644\n--- a/Documentation/git-describe.txt\n+++ b/Documentation/git-describe.txt\n@@ -37,7 +37,7 @@ OPTIONS\n --all::\n \tInstead of using only the annotated tags, use any ref\n \tfound in `.git/refs/`.  This option enables matching\n-\tany known branch, remote branch, or lightweight tag.\n+\tany known branch, remote-tracking branch, or lightweight tag.\n \n --tags::\n \tInstead of using only the annotated tags, use any tag\ndiff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt\nindex d7835ca..d70f3e0 100644\n--- a/Documentation/user-manual.txt\n+++ b/Documentation/user-manual.txt\n@@ -1724,7 +1724,8 @@ accomplish the above with just a simple\n $ git pull\n -------------------------------------------------\n \n-More generally, a branch that is created from a remote branch will pull\n+More generally, a branch that is created from a remote-tracking branch\n+will pull\n by default from that branch.  See the descriptions of the\n branch.<name>.remote and branch.<name>.merge options in\n linkgit:git-config[1], and the discussion of the `--track` option in\n@@ -2106,7 +2107,7 @@ $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git\n $ cd work\n -------------------------------------------------\n \n-Linus's tree will be stored in the remote branch named origin/master,\n+Linus's tree will be stored in the remote-tracking branch named origin/master,\n and can be updated using linkgit:git-fetch[1]; you can track other\n public trees using linkgit:git-remote[1] to set up a \"remote\" and\n linkgit:git-fetch[1] to keep them up-to-date; see\n@@ -2800,8 +2801,8 @@ Be aware that commits that the old version of example/master pointed at\n may be lost, as we saw in the previous section.\n \n [[remote-branch-configuration]]\n-Configuring remote branches\n----------------------------\n+Configuring remote-tracking branches\n+------------------------------------\n \n We saw above that \"origin\" is just a shortcut to refer to the\n repository that you originally cloned from.  This information is\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154649","messageId":"1288290117-6734-7-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 06/10] Change incorrect \"remote branch\" to \"remote tracking branch\" in C code","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-28T18:21:53Z","receivedAt":"2010-10-28T18:21:53Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"(Just like we did for documentation already)\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n branch.h                               |    2 +-\n builtin/fetch.c                        |    2 +-\n builtin/remote.c                       |    6 +++---\n contrib/examples/builtin-fetch--tool.c |    2 +-\n t/t5505-remote.sh                      |    8 +++++---\n t/t7608-merge-messages.sh              |    2 +-\n 6 files changed, 12 insertions(+), 10 deletions(-)\n\ndiff --git a/branch.h b/branch.h\nindex eed817a..2004632 100644\n--- a/branch.h\n+++ b/branch.h\n@@ -22,7 +22,7 @@ void create_branch(const char *head, const char *name, const char *start_name,\n void remove_branch_state(void);\n \n /*\n- * Configure local branch \"local\" to merge remote branch \"remote\"\n+ * Configure local branch \"local\" to merge remote-tracking branch \"remote\"\n  * taken from origin \"origin\".\n  */\n #define BRANCH_CONFIG_VERBOSE 01\ndiff --git a/builtin/fetch.c b/builtin/fetch.c\nindex 3b0b614..4243ef0 100644\n--- a/builtin/fetch.c\n+++ b/builtin/fetch.c\n@@ -359,7 +359,7 @@ static int store_updated_refs(const char *raw_url, const char *remote_name,\n \t\t\twhat = rm->name + 10;\n \t\t}\n \t\telse if (!prefixcmp(rm->name, \"refs/remotes/\")) {\n-\t\t\tkind = \"remote branch\";\n+\t\t\tkind = \"remote-tracking branch\";\n \t\t\twhat = rm->name + 13;\n \t\t}\n \t\telse {\ndiff --git a/builtin/remote.c b/builtin/remote.c\nindex e9a6e09..6a06282 100644\n--- a/builtin/remote.c\n+++ b/builtin/remote.c\n@@ -507,7 +507,7 @@ static int add_branch_for_removal(const char *refname,\n \t\t\treturn 0;\n \t}\n \n-\t/* don't delete non-remote refs */\n+\t/* don't delete non-remote-tracking refs */\n \tif (prefixcmp(refname, \"refs/remotes\")) {\n \t\t/* advise user how to delete local branches */\n \t\tif (!prefixcmp(refname, \"refs/heads/\"))\n@@ -791,9 +791,9 @@ static int rm(int argc, const char **argv)\n \n \tif (skipped.nr) {\n \t\tfprintf(stderr, skipped.nr == 1 ?\n-\t\t\t\"Note: A non-remote branch was not removed; \"\n+\t\t\t\"Note: A branch outside the refs/remotes/ hierarchy was not removed;\\n\"\n \t\t\t\"to delete it, use:\\n\" :\n-\t\t\t\"Note: Non-remote branches were not removed; \"\n+\t\t\t\"Note: Some branches outside the refs/remotes/ hierarchy were not removed;\\n\"\n \t\t\t\"to delete them, use:\\n\");\n \t\tfor (i = 0; i < skipped.nr; i++)\n \t\t\tfprintf(stderr, \"  git branch -d %s\\n\",\ndiff --git a/contrib/examples/builtin-fetch--tool.c b/contrib/examples/builtin-fetch--tool.c\nindex cd10dbc..3140e40 100644\n--- a/contrib/examples/builtin-fetch--tool.c\n+++ b/contrib/examples/builtin-fetch--tool.c\n@@ -148,7 +148,7 @@ static int append_fetch_head(FILE *fp,\n \t\twhat = remote_name + 10;\n \t}\n \telse if (!strncmp(remote_name, \"refs/remotes/\", 13)) {\n-\t\tkind = \"remote branch\";\n+\t\tkind = \"remote-tracking branch\";\n \t\twhat = remote_name + 13;\n \t}\n \telse {\ndiff --git a/t/t5505-remote.sh b/t/t5505-remote.sh\nindex 5d1c66e..d189add 100755\n--- a/t/t5505-remote.sh\n+++ b/t/t5505-remote.sh\n@@ -107,16 +107,18 @@ test_expect_success 'remove remote' '\n )\n '\n \n-test_expect_success 'remove remote protects non-remote branches' '\n+test_expect_success 'remove remote protects local branches' '\n (\n \tcd test &&\n \t{ cat >expect1 <<EOF\n-Note: A non-remote branch was not removed; to delete it, use:\n+Note: A branch outside the refs/remotes/ hierarchy was not removed;\n+to delete it, use:\n   git branch -d master\n EOF\n \t} &&\n \t{ cat >expect2 <<EOF\n-Note: Non-remote branches were not removed; to delete them, use:\n+Note: Some branches outside the refs/remotes/ hierarchy were not removed;\n+to delete them, use:\n   git branch -d foobranch\n   git branch -d master\n EOF\ndiff --git a/t/t7608-merge-messages.sh b/t/t7608-merge-messages.sh\nindex 28d5679..1c71296 100755\n--- a/t/t7608-merge-messages.sh\n+++ b/t/t7608-merge-messages.sh\n@@ -47,7 +47,7 @@ test_expect_success 'ambiguous tag' '\n \tcheck_oneline \"Merge commit QambiguousQ\"\n '\n \n-test_expect_success 'remote branch' '\n+test_expect_success 'remote-tracking branch' '\n \tgit checkout -b remote master &&\n \ttest_commit remote-1 &&\n \tgit update-ref refs/remotes/origin/master remote &&\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154648","messageId":"1288290117-6734-8-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 07/10] Use 'remote-tracking branch' in generated merge messages","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-28T18:21:54Z","receivedAt":"2010-10-28T18:21:54Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n builtin/fmt-merge-msg.c           |    6 +++---\n builtin/merge.c                   |    2 +-\n t/t1507-rev-parse-upstream.sh     |    2 +-\n t/t3409-rebase-preserve-merges.sh |    2 +-\n t/t7608-merge-messages.sh         |    2 +-\n 5 files changed, 7 insertions(+), 7 deletions(-)\n\ndiff --git a/builtin/fmt-merge-msg.c b/builtin/fmt-merge-msg.c\nindex 78c7774..5189b16 100644\n--- a/builtin/fmt-merge-msg.c\n+++ b/builtin/fmt-merge-msg.c\n@@ -100,8 +100,8 @@ static int handle_line(char *line)\n \t\torigin = line;\n \t\tstring_list_append(&src_data->tag, origin + 4);\n \t\tsrc_data->head_status |= 2;\n-\t} else if (!prefixcmp(line, \"remote branch \")) {\n-\t\torigin = line + 14;\n+\t} else if (!prefixcmp(line, \"remote-tracking branch \")) {\n+\t\torigin = line + strlen(\"remote-tracking branch \");\n \t\tstring_list_append(&src_data->r_branch, origin);\n \t\tsrc_data->head_status |= 2;\n \t} else {\n@@ -233,7 +233,7 @@ static void do_fmt_merge_msg_title(struct strbuf *out,\n \t\tif (src_data->r_branch.nr) {\n \t\t\tstrbuf_addstr(out, subsep);\n \t\t\tsubsep = \", \";\n-\t\t\tprint_joined(\"remote branch \", \"remote branches \",\n+\t\t\tprint_joined(\"remote-tracking branch \", \"remote-tracking branches \",\n \t\t\t\t\t&src_data->r_branch, out);\n \t\t}\n \t\tif (src_data->tag.nr) {\ndiff --git a/builtin/merge.c b/builtin/merge.c\nindex 10f091b..9ec13f1 100644\n--- a/builtin/merge.c\n+++ b/builtin/merge.c\n@@ -403,7 +403,7 @@ static void merge_name(const char *remote, struct strbuf *msg)\n \t\t\tgoto cleanup;\n \t\t}\n \t\tif (!prefixcmp(found_ref, \"refs/remotes/\")) {\n-\t\t\tstrbuf_addf(msg, \"%s\\t\\tremote branch '%s' of .\\n\",\n+\t\t\tstrbuf_addf(msg, \"%s\\t\\tremote-tracking branch '%s' of .\\n\",\n \t\t\t\t    sha1_to_hex(branch_head), remote);\n \t\t\tgoto cleanup;\n \t\t}\ndiff --git a/t/t1507-rev-parse-upstream.sh b/t/t1507-rev-parse-upstream.sh\nindex 8c8dfda..a455551 100755\n--- a/t/t1507-rev-parse-upstream.sh\n+++ b/t/t1507-rev-parse-upstream.sh\n@@ -85,7 +85,7 @@ test_expect_success 'merge my-side@{u} records the correct name' '\n \tgit branch -t new my-side@{u} &&\n \tgit merge -s ours new@{u} &&\n \tgit show -s --pretty=format:%s >actual &&\n-\techo \"Merge remote branch ${sq}origin/side${sq}\" >expect &&\n+\techo \"Merge remote-tracking branch ${sq}origin/side${sq}\" >expect &&\n \ttest_cmp expect actual\n )\n '\ndiff --git a/t/t3409-rebase-preserve-merges.sh b/t/t3409-rebase-preserve-merges.sh\nindex 74161a4..19341e5 100755\n--- a/t/t3409-rebase-preserve-merges.sh\n+++ b/t/t3409-rebase-preserve-merges.sh\n@@ -72,7 +72,7 @@ test_expect_success 'rebase -p fakes interactive rebase' '\n \tgit fetch &&\n \tgit rebase -p origin/topic &&\n \ttest 1 = $(git rev-list --all --pretty=oneline | grep \"Modify A\" | wc -l) &&\n-\ttest 1 = $(git rev-list --all --pretty=oneline | grep \"Merge remote branch \" | wc -l)\n+\ttest 1 = $(git rev-list --all --pretty=oneline | grep \"Merge remote-tracking branch \" | wc -l)\n \t)\n '\n \ndiff --git a/t/t7608-merge-messages.sh b/t/t7608-merge-messages.sh\nindex 1c71296..9225fa6 100755\n--- a/t/t7608-merge-messages.sh\n+++ b/t/t7608-merge-messages.sh\n@@ -54,7 +54,7 @@ test_expect_success 'remote-tracking branch' '\n \tgit checkout master &&\n \ttest_commit master-5 &&\n \tgit merge origin/master &&\n-\tcheck_oneline \"Merge remote branch Qorigin/masterQ\"\n+\tcheck_oneline \"Merge remote-tracking branch Qorigin/masterQ\"\n '\n \n test_done\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154654","messageId":"1288290117-6734-9-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 08/10] user-manual.txt: explain better the remote(-tracking) branch terms","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-28T18:21:55Z","receivedAt":"2010-10-28T18:21:55Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"Now that the documentation is mostly consistant in the use of \"remote\nbranch\" Vs \"remote-tracking branch\", let's make this distinction explicit\nearly in the user-manual.\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/user-manual.txt |   20 +++++++++++++++++---\n 1 files changed, 17 insertions(+), 3 deletions(-)\n\ndiff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt\nindex d70f3e0..62b3788 100644\n--- a/Documentation/user-manual.txt\n+++ b/Documentation/user-manual.txt\n@@ -344,7 +344,8 @@ Examining branches from a remote repository\n The \"master\" branch that was created at the time you cloned is a copy\n of the HEAD in the repository that you cloned from.  That repository\n may also have had other branches, though, and your local repository\n-keeps branches which track each of those remote branches, which you\n+keeps branches which track each of those remote branches, called\n+remote-tracking branches, which you\n can view using the \"-r\" option to linkgit:git-branch[1]:\n \n ------------------------------------------------\n@@ -359,6 +360,14 @@ $ git branch -r\n   origin/todo\n ------------------------------------------------\n \n+In this case, \"origin\" is called a remote repository, or \"remote\" for\n+short. The branches of this repository are called \"remote branches\"\n+from our point of view. The remote-tracking branches are created in\n+the local repository at clone time, as a copy of the remote branches.\n+They are references that will be updated by \"git fetch\" (hence by \"git\n+pull\"), and by \"git push\". See\n+<<Updating-a-repository-With-git-fetch>> for details.\n+\n You cannot check out these remote-tracking branches, but you can\n examine them on a branch of your own, just as you would a tag:\n \n@@ -1716,14 +1725,19 @@ one step:\n $ git pull origin master\n -------------------------------------------------\n \n-In fact, if you have \"master\" checked out, then by default \"git pull\"\n-merges from the HEAD branch of the origin repository.  So often you can\n+In fact, if you have \"master\" checked out, then this branch has been\n+configured by \"git clone\" to get changes from the HEAD branch of the\n+origin repository.  So often you can\n accomplish the above with just a simple\n \n -------------------------------------------------\n $ git pull\n -------------------------------------------------\n \n+This command will fetch the changes from the remote branches to your\n+remote-tracking branches `origin/*`, and merge default branch in the\n+current branch.\n+\n More generally, a branch that is created from a remote-tracking branch\n will pull\n by default from that branch.  See the descriptions of the\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154651","messageId":"1288290117-6734-10-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 09/10] user-manual: remote-tracking can be checked out, with detached HEAD","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-28T18:21:56Z","receivedAt":"2010-10-28T18:21:56Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"From: Jonathan Nieder <jrnieder@gmail.com>\n\nSigned-off-by: Jonathan Nieder <jrnieder@gmail.com>\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/user-manual.txt |    7 +++++--\n 1 files changed, 5 insertions(+), 2 deletions(-)\n\ndiff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt\nindex 62b3788..2b04e84 100644\n--- a/Documentation/user-manual.txt\n+++ b/Documentation/user-manual.txt\n@@ -368,13 +368,16 @@ They are references that will be updated by \"git fetch\" (hence by \"git\n pull\"), and by \"git push\". See\n <<Updating-a-repository-With-git-fetch>> for details.\n \n-You cannot check out these remote-tracking branches, but you can\n-examine them on a branch of your own, just as you would a tag:\n+You might want to build on one of these remote-tracking branches\n+on a branch of your own, just as you would for a tag:\n \n ------------------------------------------------\n $ git checkout -b my-todo-copy origin/todo\n ------------------------------------------------\n \n+You can also check out \"origin/todo\" directly to examine it or\n+write a one-off patch.  See <<detached-head,detached head>>.\n+\n Note that the name \"origin\" is just the name that git uses by default\n to refer to the repository that you cloned from.\n \n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154653","messageId":"1288290117-6734-11-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 10/10] git-branch.txt: mention --set-upstream as a way to change upstream configuration","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-28T18:21:57Z","receivedAt":"2010-10-28T18:21:57Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/git-branch.txt |    3 ++-\n 1 files changed, 2 insertions(+), 1 deletions(-)\n\ndiff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt\nindex 7f23c56..9106d38 100644\n--- a/Documentation/git-branch.txt\n+++ b/Documentation/git-branch.txt\n@@ -41,7 +41,8 @@ When a local branch is started off a remote-tracking branch, git sets up the\n branch so that 'git pull' will appropriately merge from\n the remote-tracking branch. This behavior may be changed via the global\n `branch.autosetupmerge` configuration flag. That setting can be\n-overridden by using the `--track` and `--no-track` options.\n+overridden by using the `--track` and `--no-track` options, and\n+changed later using `git branch --set-upstream`.\n \n With a '-m' or '-M' option, <oldbranch> will be renamed to <newbranch>.\n If <oldbranch> had a corresponding reflog, it is renamed to match\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154658","messageId":"20101028183513.GC14212@burratino","threadId":"25535","inReplyTo":"1288290117-6734-2-git-send-email-Matthieu.Moy@imag.fr","subject":"Re: [PATCH 01/10] Better \"Changed but not updated\" message in git-status","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2010-10-28T18:35:13Z","receivedAt":"2010-10-28T18:35:13Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Matthieu Moy wrote:\n\n> +++ b/wt-status.c\n> @@ -88,7 +88,7 @@ static void wt_status_print_dirty_header(struct wt_status *s,\n>  {\n>  \tconst char *c = color(WT_STATUS_HEADER, s);\n>  \n> -\tcolor_fprintf_ln(s->fp, c, \"# Changed but not updated:\");\n> +\tcolor_fprintf_ln(s->fp, c, \"# Changes not staged for commit:\");\n>  \tif (!advice_status_hints)\n>  \t\treturn;\n\nResult looks like:\n\n # Changes to be committed:\n #   (use \"git reset HEAD <file>...\" to unstage)\n #\n #       new file:   foo.c\n #\n # Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n #       modified:   foo.c\n #\n # Untracked files:\n #   (use \"git add <file>...\" to include in what will be committed)\n #\n #       bar.c\n\nwhich is both clearer and more consistent.  So for what it's worth,\nAcked-by: Jonathan Nieder <jrnieder@gmail.com>\n"},{"id":"154659","messageId":"20101028183919.GD14212@burratino","threadId":"25535","inReplyTo":"1288290117-6734-4-git-send-email-Matthieu.Moy@imag.fr","subject":"Re: [PATCH 03/10] Change remote tracking to remote-tracking in non-trivial places","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2010-10-28T18:39:19Z","receivedAt":"2010-10-28T18:39:19Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Matthieu Moy wrote:\n\n> --- a/Documentation/everyday.txt\n> +++ b/Documentation/everyday.txt\n> @@ -180,12 +180,12 @@ directory; clone from it to start a repository on the satellite\n>  machine.\n>  <2> clone sets these configuration variables by default.\n>  It arranges `git pull` to fetch and store the branches of mothership\n> -machine to local `remotes/origin/*` tracking branches.\n> +machine to local `remotes/origin/*` remote-tracking branches.\n>  <3> arrange `git push` to push local `master` branch to\n>  `remotes/satellite/master` branch of the mothership machine.\n>  <4> push will stash our work away on `remotes/satellite/master`\n> -tracking branch on the mothership machine.  You could use this as\n> -a back-up method.\n> +remote-tracking branch on the mothership machine.  You could use this\n> +as a back-up method.\n>  <5> on mothership machine, merge the work done on the satellite\n>  machine into the master branch.\n\nJust for the record: I still don't think this hunk fits with the rest\nof the patch, and I think it just switches from one bad wording to\nanother.\n\nThis is the \"Everyday git\" document, one of the first pages a new user\nmight read.  Using jargon that does not explain itself (whether it is\n\"tracking branches\" or \"remote-tracking branches\") is not really a\ngood idea.\n\nWouldn't it be possible to split this into a separate patch, so it\ndoes not hold back the other \"add hyphen\" changes?\n"},{"id":"154664","messageId":"20101028191303.GE14212@burratino","threadId":"25535","inReplyTo":"1288290117-6734-7-git-send-email-Matthieu.Moy@imag.fr","subject":"Re: [PATCH 06/10] Change incorrect \"remote branch\" to \"remote tracking branch\" in C code","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2010-10-28T19:13:03Z","receivedAt":"2010-10-28T19:13:03Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Matthieu Moy wrote:\n\n> --- a/branch.h\n> +++ b/branch.h\n> @@ -22,7 +22,7 @@ void create_branch(const char *head, const char *name, const char *start_name,\n>  void remove_branch_state(void);\n>  \n>  /*\n> - * Configure local branch \"local\" to merge remote branch \"remote\"\n> + * Configure local branch \"local\" to merge remote-tracking branch \"remote\"\n>   * taken from origin \"origin\".\n>   */\n>  #define BRANCH_CONFIG_VERBOSE 01\n\nThis still seems inaccurate (and even misleading).  Presumably you mean\n\n\t             ... to merge remote-tracking branch \"origin/remote\"\n\tbased on origin \"origin\".\n\nor\n\n\t             ... to merge remote branch \"remote\"\n\ttaken from origin \"origin\"\n\nor even better,\n\n\tConfigure local branch \"local\" as downstream to branch \"remote\"\n\tfrom remote \"origin\".  Used by git branch --set-upstream.\n\nMore confusion could presumably be avoided by renaming the parameters.\n\n> --- a/builtin/fetch.c\n> +++ b/builtin/fetch.c\n> @@ -359,7 +359,7 @@ static int store_updated_refs(const char *raw_url, const char *remote_name,\n>  \t\t\twhat = rm->name + 10;\n>  \t\t}\n>  \t\telse if (!prefixcmp(rm->name, \"refs/remotes/\")) {\n> -\t\t\tkind = \"remote branch\";\n> +\t\t\tkind = \"remote-tracking branch\";\n>  \t\t\twhat = rm->name + 13;\n\nI didn't follow before --- what concrete effect does this have?  Are\nscripts affected?  Is fmt-merge-msg affected?\n\n> --- a/builtin/remote.c\n> +++ b/builtin/remote.c\n> @@ -791,9 +791,9 @@ static int rm(int argc, const char **argv)\n>  \n>  \tif (skipped.nr) {\n>  \t\tfprintf(stderr, skipped.nr == 1 ?\n> -\t\t\t\"Note: A non-remote branch was not removed; \"\n> +\t\t\t\"Note: A branch outside the refs/remotes/ hierarchy was not removed;\\n\"\n>  \t\t\t\"to delete it, use:\\n\" :\n> -\t\t\t\"Note: Non-remote branches were not removed; \"\n> +\t\t\t\"Note: Some branches outside the refs/remotes/ hierarchy were not removed;\\n\"\n>  \t\t\t\"to delete them, use:\\n\");\n>  \t\tfor (i = 0; i < skipped.nr; i++)\n>  \t\t\tfprintf(stderr, \"  git branch -d %s\\n\",\n\nNice.\n\nMaybe the commit message should explain the reasoning, something like:\n\n The non-deleted branch is somehow remote-tracking since \"fetch\" feeds\n it, and the code detecting this case is:\n\n\t/* don't delete non-remote-tracking refs */\n\tif (prefixcmp(refname, \"refs/remotes\")) {\n\t\t/* advise user how to delete local branches */\n\t\tif (!prefixcmp(refname, \"refs/heads/\"))\n\t\t\tstring_list_append(branches->skipped,\n\t\t\t\t\t   abbrev_branch(refname));\n\t\t/* silently skip over other non-remote refs */\n\t\treturn 0;\n\t}\n \n hence, really \"branches outside the refs/remotes/ hierarchy\".\n\nThanks for your tireless work.  Everything not mentioned above looks good.\n"},{"id":"154667","messageId":"20101028194252.GF14212@burratino","threadId":"25535","inReplyTo":"1288290117-6734-9-git-send-email-Matthieu.Moy@imag.fr","subject":"Re: [PATCH 08/10] user-manual.txt: explain better the remote(-tracking) branch terms","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2010-10-28T19:42:52Z","receivedAt":"2010-10-28T19:42:52Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Matthieu Moy wrote:\n\n> Now that the documentation is mostly consistant in the use of \"remote\n> branch\" Vs \"remote-tracking branch\"\n\nIn fact, I think this patch would be useful even before the\ndocumentation is perfectly consistent.\n\n> , let's make this distinction explicit\n> early in the user-manual.\n\nThanks.  It is good to maintain a clear vocabulary.\n\nAll that follows are nitpicks.\n\n> --- a/Documentation/user-manual.txt\n> +++ b/Documentation/user-manual.txt\n> @@ -341,30 +342,38 @@ $ git branch -r\n>  Examining branches from a remote repository\n>  -------------------------------------------\n>\n>  The \"master\" branch that was created at the time you cloned is a copy\n>  of the HEAD in the repository that you cloned from.  That repository\n>  may also have had other branches, though, and your local repository\n>  keeps branches which track each of those remote branches, which you\n>  can view using the \"-r\" option to linkgit:git-branch[1]:\n>\n>  ------------------------------------------------\n>  $ git branch -r\n>    origin/HEAD\n>    origin/html\n>    origin/maint\n>    origin/man\n>    origin/master\n>    origin/next\n>    origin/pu\n>    origin/todo\n>  ------------------------------------------------\n>\n> +In this case, \"origin\" is called a remote repository, or \"remote\" for\n> +short.\n\n\"In this case\" seems redundant (since we did not explain what other\ncase it is being opposed to).  \"origin\" has not been explained yet.\nMaybe something along these lines (sorry for my poor wording)\n\n The repository of origin is called a remote repository, or a \"remote\" for\n short.\n\nwould improve it?\n\n>         The branches of this repository are called \"remote branches\"\n> +from our point of view. The remote-tracking branches are created in\n> +the local repository at clone time, as a copy of the remote branches.\n\nSentence structure.  Maybe\n\n          The branches of this repository are called \"remote branches\"\n  from our point of view. The remote-tracking branches listed above\n  were created based on the remote branches at clone time and will be\n  updated by \"git fetch\" and \"git push\".\n  See <<Updating -a-repository-With-git-fetch>> for details.\n\n> +They are references that will be updated by \"git fetch\" (hence by \"git\n> +pull\"), and by \"git push\". See\n> +<<Updating-a-repository-With-git-fetch>> for details.\n> +\n>  You cannot check out these remote-tracking branches, but you can\n>  examine them on a branch of your own, just as you would a tag:\n>\n>  ------------------------------------------------\n>  $ git checkout -b my-todo-copy origin/todo\n>  ------------------------------------------------\n>\n>  Note that the name \"origin\" is just the name that git uses by default\n>  to refer to the repository that you cloned from.\n> @@ -1716,14 +1725,19 @@ one step:\n[...]\n>  -------------------------------------------------\n>  $ git pull\n>  -------------------------------------------------\n>  \n> +This command will fetch the changes from the remote branches to your\n> +remote-tracking branches `origin/*`, and merge default branch in the\n> +current branch.\n> +\n\nArticle use.  Probably something like\n\n\ts/the changes/changes/\n\ts/merge default branch in/merge the default branch into/\n\nwould do.\n"},{"id":"154668","messageId":"20101028195228.GA16006@burratino","threadId":"25535","inReplyTo":"1288290117-6734-3-git-send-email-Matthieu.Moy@imag.fr","subject":"Re: [PATCH 02/10] Replace \"remote tracking\" with \"remote-tracking\"","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2010-10-28T19:52:28Z","receivedAt":"2010-10-28T19:52:28Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Matthieu Moy wrote:\n\n> \"remote-tracking\" branch makes it explicit that the branch is \"tracking a\n> remote\", as opposed to \"remote, and tracking something\".\n\nYeah.\n\n[...]\n> This patch is a straightforward application of\n> \n>   perl -pi -e 's/remote tracking branch/remote-tracking branch/'\n\nThanks, that makes it very easy to review.  The patch is obviously good.\n"},{"id":"154669","messageId":"20101028195641.GB16006@burratino","threadId":"25535","inReplyTo":"1288290117-6734-5-git-send-email-Matthieu.Moy@imag.fr","subject":"Re: [PATCH 04/10] Change \"tracking branch\" to \"remote-tracking branch\"","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2010-10-28T19:56:41Z","receivedAt":"2010-10-28T19:56:41Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Matthieu Moy wrote:\n\n> One more step towards consistancy. We change the documentation and the C\n> code in a single patch, since the only instances in the C code are in\n> comment and usage strings.\n\nFor what it's worth:\nReviewed-by: Jonathan Nieder <jrnieder@gmail.com>\n\n> --- a/Documentation/glossary-content.txt\n> +++ b/Documentation/glossary-content.txt\n> @@ -349,6 +349,14 @@ This commit is referred to as a \"merge commit\", or sometimes just a\n>  \tmaster branch head as to-upstream branch at $URL\". See also\n>  \tlinkgit:git-push[1].\n>  \n> +[[def_remote_tracking_branch]]remote-tracking branch::\n> +\tA regular git <<def_branch,branch>> that is used to follow changes from\n> +\tanother <<def_repository,repository>>. A tracking\n> +\tbranch should not contain direct modifications or have local commits\n> +\tmade to it. A remote-tracking branch can usually be\n> +\tidentified as the right-hand-side <<def_ref,ref>> in a Pull:\n> +\t<<def_refspec,refspec>>.\n> +\n>  [[def_repository]]repository::\n\nIn particular, your explanation for this hunk makes sense.  Any links\nout in the world to \"gitglossary.html#def_tracking_branch\" would go to\nthe top of the page after this change.  Once there, the reader can\neasily search for \"tracking branch\" to find the right entry.\n"},{"id":"154670","messageId":"20101028200815.GA16125@burratino","threadId":"25535","inReplyTo":"1288290117-6734-11-git-send-email-Matthieu.Moy@imag.fr","subject":"Re: [PATCH 10/10] git-branch.txt: mention --set-upstream as a way to change upstream configuration","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2010-10-28T20:08:15Z","receivedAt":"2010-10-28T20:08:15Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Matthieu Moy wrote:\n\n> Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n\nPatches 5, 9, and 10 look good, too.\n\nThanks again.\nJonathan\nwho is wishing his inbox were not so full.\n"},{"id":"154682","messageId":"7vaaly9eji.fsf@alter.siamese.dyndns.org","threadId":"25535","inReplyTo":"20101028183513.GC14212@burratino","subject":"Re: [PATCH 01/10] Better \"Changed but not updated\" message in git-status","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2010-10-28T21:46:09Z","receivedAt":"2010-10-28T21:46:09Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jonathan Nieder <jrnieder@gmail.com> writes:\n\n> Result looks like:\n>\n>  # Changes to be committed:\n>  #   (use \"git reset HEAD <file>...\" to unstage)\n>  #\n>  #       new file:   foo.c\n>  #\n>  # Changes not staged for commit:\n>  #   (use \"git add <file>...\" to update what will be committed)\n>  #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n>  #\n>  #       modified:   foo.c\n>  #\n>  # Untracked files:\n>  #   (use \"git add <file>...\" to include in what will be committed)\n>  #\n>  #       bar.c\n>\n> which is both clearer and more consistent.  So for what it's worth,\n> Acked-by: Jonathan Nieder <jrnieder@gmail.com>\n\nHmm, perhaps we'd want to restate the first one as well to read\n\n    Changes staged for commit:\n      (use \"git reset HEAD <path>...\" to unstage)\n\nfor consistency as well?\n\nListing by filename gives a false impression that we are talking about the\nwhole file contents, and looks a bit confusing until it is explained to\nyou why when the same file appears in both of the first two sections.\nI've been wondering ever since this thread started if we can phrase it\nbetter to make it even less confusing.  E.g.\n\n    Files with changes to be committed:\n        new file: foo.c\n    Files with changes that won't be committed:\n        modified: foo.c\n\nmight help reduce the confusion.\n\n\"Untracked files\" section is about the whole file contents, and it can\nstay as is.\n"},{"id":"154683","messageId":"vpq4oc6f0ms.fsf@bauges.imag.fr","threadId":"25535","inReplyTo":"20101028183919.GD14212@burratino","subject":"Re: [PATCH 03/10] Change remote tracking to remote-tracking in non-trivial places","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2010-10-28T21:50:03Z","receivedAt":"2010-10-28T21:50:03Z","isPatch":true,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Jonathan Nieder <jrnieder@gmail.com> writes:\n\n> Matthieu Moy wrote:\n>\n>> --- a/Documentation/everyday.txt\n>> +++ b/Documentation/everyday.txt\n>> @@ -180,12 +180,12 @@ directory; clone from it to start a repository on the satellite\n>>  machine.\n>>  <2> clone sets these configuration variables by default.\n>>  It arranges `git pull` to fetch and store the branches of mothership\n>> -machine to local `remotes/origin/*` tracking branches.\n>> +machine to local `remotes/origin/*` remote-tracking branches.\n>>  <3> arrange `git push` to push local `master` branch to\n>>  `remotes/satellite/master` branch of the mothership machine.\n>>  <4> push will stash our work away on `remotes/satellite/master`\n>> -tracking branch on the mothership machine.  You could use this as\n>> -a back-up method.\n>> +remote-tracking branch on the mothership machine.  You could use this\n>> +as a back-up method.\n>>  <5> on mothership machine, merge the work done on the satellite\n>>  machine into the master branch.\n>\n> Just for the record: I still don't think this hunk fits with the rest\n> of the patch, and I think it just switches from one bad wording to\n> another.\n>\n> This is the \"Everyday git\" document, one of the first pages a new user\n> might read.  Using jargon that does not explain itself (whether it is\n> \"tracking branches\" or \"remote-tracking branches\") is not really a\n> good idea.\n>\n> Wouldn't it be possible to split this into a separate patch, so it\n> does not hold back the other \"add hyphen\" changes?\n\nI don't get the point. If you like neither \"tracking branch\" nor\n\"remote-tracking branch\", then my patch doesn't make the situation\nworse anyway, so it should not hold back anything. It doesn't prevent\nbetter wording of this document later, but this is not the point of my\npatch serie.\n\nWhat I'm trying to do here is really to achieve consistancy. If\nsomething has a name, let's use the same name everywhere. I'd be\nreally frustrated if some instances of any name other than\n\"remote-tracking branch\" remain purposedly after my patch serie to\ndesignate what we seem to agree should be called \"remote-tracking\nbranch\".\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"154691","messageId":"20101028220956.GC16125@burratino","threadId":"25535","inReplyTo":"7vaaly9eji.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH 01/10] Better \"Changed but not updated\" message in git-status","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2010-10-28T22:09:56Z","receivedAt":"2010-10-28T22:09:56Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Junio C Hamano wrote:\n> Jonathan Nieder <jrnieder@gmail.com> writes:\n\n>>  # Changes to be committed:\n>>  #   (use \"git reset HEAD <file>...\" to unstage)\n>>  #\n>>  #       new file:   foo.c\n>>  #\n>>  # Changes not staged for commit:\n[...]\n> Hmm, perhaps we'd want to restate the first one as well to read\n> \n>     Changes staged for commit:\n>       (use \"git reset HEAD <path>...\" to unstage)\n> \n> for consistency as well?\n\nMy first impression is no.  Since the main purpose of this text is to\nbe shown by \"git commit\", it might even make sense to say:\n\n# Changes to be committed:\n#   (use \"git reset -- <path>...\" to unstage)\n#\n#\tnew file:    foo.c\n#\n# Changes not to be committed:\n#   (use \"git add <path>...\" to update what will be committed)\n#   (use \"git checkout -- <path>...\" to discard changes in working\n#   directory)\n#\n#\ttypechange:  bar.c\n\n> Listing by filename gives a false impression that we are talking about the\n> whole file contents, and looks a bit confusing until it is explained to\n> you why when the same file appears in both of the first two sections.\n\nIould be nice if the \"staged changes\" section gave a hint that there\nwere unstaged changes present.  Maybe something like the\n\"unsaved file\" indicator used by some text editors:\n\n\tnew file:    foo.c*\n\n> I've been wondering ever since this thread started if we can phrase it\n> better to make it even less confusing.  E.g.\n> \n>     Files with changes to be committed:\n>         new file: foo.c\n>     Files with changes that won't be committed:\n>         modified: foo.c\n> \n> might help reduce the confusion.\n\nI fear that it can be misparsed as (Files with changes) to be committed.\nMore importantly, I think Matthieu was right earlier: it is not the\nfiles but the changes that matter.\n\nSo when changing a file and marking it executable, I would even like to\nsee:\n\n\tmodified:    foo.c\n\tmode change: foo.c\n\neven if that is not what git does today.\n"},{"id":"154692","messageId":"20101028221316.GD16125@burratino","threadId":"25535","inReplyTo":"vpq4oc6f0ms.fsf@bauges.imag.fr","subject":"Re: [PATCH 03/10] Change remote tracking to remote-tracking in non-trivial places","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2010-10-28T22:13:16Z","receivedAt":"2010-10-28T22:13:16Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Matthieu Moy wrote:\n\n> What I'm trying to do here is really to achieve consistancy. If\n> something has a name, let's use the same name everywhere.\n\nOkay, but can it at least not be part of a patch that does something\nsimpler (only adding dashes)?\n\nI'm not sure why you don't like the idea of rewording it, but\nthat's fine --- I am just trying to make sure that the patches\nmake sense...\n"},{"id":"154695","messageId":"vpqtyk6dk0o.fsf@bauges.imag.fr","threadId":"25535","inReplyTo":"20101028191303.GE14212@burratino","subject":"Re: [PATCH 06/10] Change incorrect \"remote branch\" to \"remote tracking branch\" in C code","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2010-10-28T22:34:15Z","receivedAt":"2010-10-28T22:34:15Z","isPatch":true,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Jonathan Nieder <jrnieder@gmail.com> writes:\n\n> Matthieu Moy wrote:\n>\n>> --- a/branch.h\n>> +++ b/branch.h\n>> @@ -22,7 +22,7 @@ void create_branch(const char *head, const char *name, const char *start_name,\n>>  void remove_branch_state(void);\n>>\n>>  /*\n>> - * Configure local branch \"local\" to merge remote branch \"remote\"\n>> + * Configure local branch \"local\" to merge remote-tracking branch \"remote\"\n>>   * taken from origin \"origin\".\n\n> \tConfigure local branch \"local\" as downstream to branch \"remote\"\n> \tfrom remote \"origin\".  Used by git branch --set-upstream.\n\nI buy this one.\n\n>> --- a/builtin/fetch.c\n>> +++ b/builtin/fetch.c\n>> @@ -359,7 +359,7 @@ static int store_updated_refs(const char *raw_url, const char *remote_name,\n>>  \t\t\twhat = rm->name + 10;\n>>  \t\t}\n>>  \t\telse if (!prefixcmp(rm->name, \"refs/remotes/\")) {\n>> -\t\t\tkind = \"remote branch\";\n>> +\t\t\tkind = \"remote-tracking branch\";\n>>  \t\t\twhat = rm->name + 13;\n>\n> I didn't follow before --- what concrete effect does this have?\n\nAlmost none ;-).\n\n>From reading the code and testing, it affects\n\n$ git fetch\n$ cat FETCH_HEAD\n...\n21d039[...]  not-for-merge  remote-tracking branch 'origin/branch' of /tmp/cloned\n...\n\nwhen ran in a repository obtained with \"git clone --mirror\" (i.e. when\nyou fetch remote-tracking branches from the remote repository).\n\nand\n\n$ git fetch origin refs/remotes/origin/some-branch\nFrom /tmp/cloned\n * remote-tracking branch origin/oaue -> FETCH_HEAD\n\n> Are scripts affected?\n\nI don't think any script would parse the last part of FETCH_HEAD,\nwhich seems really to be meant as a comment, nor the precise output of\ngit-fetch-in-a-mirror-with-refspec-given-explicitely.\n\nBut anyway, that's in a place where bare mortals wouldn't go, so I\ndon't mind much is anyone wants to revert this particular hunk. That's\nnot going to affect the learning curve of newcommers.\n\n> Is fmt-merge-msg affected?\n\nNo (that's why it's a separate patch. In case you missed my earlier\nmessage: yes, the testsuite passes between the two).\n\n> Maybe the commit message should explain the reasoning, something like:\n>\n>  The non-deleted branch is somehow remote-tracking since \"fetch\" feeds\n>  it, and the code detecting this case is:\n\nI've tried a shorter version :\n\n  In the process, we change \"non-remote branch\" to \"branch outside\n  the refs/remotes/ hierarchy\" to avoid the ugly \"non-remote-tracking\n  branch\". The new formulation actually corresponds to how the code\n  detects this case (i.e. prefixcmp(refname, \"refs/remotes\")).\n\n--\nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"154696","messageId":"vpqk4l2djqc.fsf@bauges.imag.fr","threadId":"25535","inReplyTo":"20101028221316.GD16125@burratino","subject":"Re: [PATCH 03/10] Change remote tracking to remote-tracking in non-trivial places","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2010-10-28T22:40:27Z","receivedAt":"2010-10-28T22:40:27Z","isPatch":true,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Jonathan Nieder <jrnieder@gmail.com> writes:\n\n> Matthieu Moy wrote:\n>\n>> What I'm trying to do here is really to achieve consistancy. If\n>> something has a name, let's use the same name everywhere.\n>\n> Okay, but can it at least not be part of a patch that does something\n> simpler (only adding dashes)?\n\nOK, I'll do that.\n\n> I'm not sure why you don't like the idea of rewording it, but\n> that's fine ---\n\nNot that I don't like the idea. I'm just saying that my patch makes\nthe situation better that it used to. No objection if other people\nwant to make it even better later (but I probably won't have time\nsoon).\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"154697","messageId":"vpqfwvqdjes.fsf@bauges.imag.fr","threadId":"25535","inReplyTo":"20101028220956.GC16125@burratino","subject":"Re: [PATCH 01/10] Better \"Changed but not updated\" message in git-status","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2010-10-28T22:47:23Z","receivedAt":"2010-10-28T22:47:23Z","isPatch":true,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Jonathan Nieder <jrnieder@gmail.com> writes:\n\n> Junio C Hamano wrote:\n>> Jonathan Nieder <jrnieder@gmail.com> writes:\n>\n>>>  # Changes to be committed:\n>>>  #   (use \"git reset HEAD <file>...\" to unstage)\n>>>  #\n>>>  #       new file:   foo.c\n>>>  #\n>>>  # Changes not staged for commit:\n> [...]\n>> Hmm, perhaps we'd want to restate the first one as well to read\n>> \n>>     Changes staged for commit:\n>>       (use \"git reset HEAD <path>...\" to unstage)\n>> \n>> for consistency as well?\n>\n> My first impression is no.  Since the main purpose of this text is to\n> be shown by \"git commit\", it might even make sense to say:\n>\n> # Changes to be committed:\n> #   (use \"git reset -- <path>...\" to unstage)\n> #\n> #\tnew file:    foo.c\n> #\n> # Changes not to be committed:\n> #   (use \"git add <path>...\" to update what will be committed)\n> #   (use \"git checkout -- <path>...\" to discard changes in working\n> #   directory)\n> #\n> #\ttypechange:  bar.c\n\nActually, my formulation also has a subtle advantage: it somehow\nteaches the meaning of \"staged\". By reading \"Changes not staged for\ncommit\" close to \"Changes to be commited\", it makes it rather clear\nwhat \"staged for commit\" means.\n\nPerhaps changing the hint from \"git add\" to \"git stage\" right below\nwould make that even clearer.\n\nSo, I tent to (very slightly) prefer my version.\n\n> It would be nice if the \"staged changes\" section gave a hint that there\n> were unstaged changes present.  Maybe something like the\n> \"unsaved file\" indicator used by some text editors:\n>\n> \tnew file:    foo.c*\n\nI'd argue against the syntax, since it kills cut-and-paste, but a\nvisual indicator could be nice, yes.\n\n>> I've been wondering ever since this thread started if we can phrase it\n>> better to make it even less confusing.  E.g.\n>> \n>>     Files with changes to be committed:\n>>         new file: foo.c\n>>     Files with changes that won't be committed:\n>>         modified: foo.c\n>> \n>> might help reduce the confusion.\n>\n> I fear that it can be misparsed as (Files with changes) to be committed.\n> More importantly, I think Matthieu was right earlier: it is not the\n> files but the changes that matter.\n\nI second that. Furthermore, keeping it short increase the changes that\nuser will actually read the message.\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"154698","messageId":"7vsjzp9a69.fsf@alter.siamese.dyndns.org","threadId":"25535","inReplyTo":"vpqfwvqdjes.fsf@bauges.imag.fr","subject":"Re: [PATCH 01/10] Better \"Changed but not updated\" message in git-status","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2010-10-28T23:20:30Z","receivedAt":"2010-10-28T23:20:30Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> writes:\n\n> Actually, my formulation also has a subtle advantage: it somehow\n> teaches the meaning of \"staged\". By reading \"Changes not staged for\n> commit\" close to \"Changes to be commited\", it makes it rather clear\n> what \"staged for commit\" means.\n\nThat is exactly why I mentioned \"Changes staged for commit\" in the first\npart of my message.\n\n> Perhaps changing the hint from \"git add\" to \"git stage\" right below\n> would make that even clearer.\n\nIf we had \"git reset HEAD -- <path>\" as a synonym for \"git unstage\",\nperhaps.  I always hesitate to suggest that, fearing if that synonym would\nalways work, especially when you are not just dealing with your own\nchanges (iow, doing something more than \"I have clean checkout, and I\nedited some files, and I may have run 'git add' on some of them\").  I do\nnot think of a situation that the synonym wouldn't work offhand, but that\nof course does not mean it would always work.\n\nProvided if such \"git unstage\" can be given as a counterpart of \"git\nstage\", it may be fine to advocate the verb \"stage\".  But otherwise, I'd\nrather not to see the verb advocated in this way.\n\nNotice that my rewording was crafted in such a way, rather carefully, so\nthat we do not have to say \"stage\" anywhere.\n\n>>> I've been wondering ever since this thread started if we can phrase it\n>>> better to make it even less confusing.  E.g.\n>>> \n>>>     Files with changes to be committed:\n>>>         new file: foo.c\n>>>     Files with changes that won't be committed:\n>>>         modified: foo.c\n>>> \n>>> might help reduce the confusion.\n>>\n>> I fear that it can be misparsed as (Files with changes) to be committed.\n>> More importantly, I think Matthieu was right earlier: it is not the\n>> files but the changes that matter.\n\nWell, I was aiming for the same.  It is not the \"files\" but the changes\nthat matter, but what we list are files.  What we want to say here is that\nyour changes are two kinds, and the ones to be committed appear in these\npaths, and the ones to be left behind appear in these paths (that can be\noverlapping with the former).\n\n> I second that. Furthermore, keeping it short increase the changes that\n> user will actually read the message.\n\nYou could do s/Files with/With/ to shorten them.  Or perhaps\n\n    Changes to be committed are in:\n        new file: foo.c\n    Changes that will be left out are in:\n        modified: foo.c\n"},{"id":"154699","messageId":"20101028232303.GA25133@burratino","threadId":"25535","inReplyTo":"vpqtyk6dk0o.fsf@bauges.imag.fr","subject":"Re: [PATCH 06/10] Change incorrect \"remote branch\" to \"remote tracking branch\" in C code","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2010-10-28T23:23:03Z","receivedAt":"2010-10-28T23:23:03Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Matthieu Moy wrote:\n\n> I don't think any script would parse the last part of FETCH_HEAD,\n> which seems really to be meant as a comment\n\nYes, believable.\n\n> Jonathan Nieder <jrnieder@gmail.com> writes:\n\n>> Is fmt-merge-msg affected?\n>\n> No (that's why it's a separate patch. In case you missed my earlier\n> message: yes, the testsuite passes between the two).\n\nI suspect the testsuite passing is only because the fmt-merge-msg\ntests don't try \"git fetch . remotes/foo/bar\".\n\nIn modern times, \"git merge\" bypasses fmt-merge-msg with its own\ncode (as you probably noticed :)).\n\n>   In the process, we change \"non-remote branch\" to \"branch outside\n>   the refs/remotes/ hierarchy\" to avoid the ugly \"non-remote-tracking\n>   branch\". The new formulation actually corresponds to how the code\n>   detects this case (i.e. prefixcmp(refname, \"refs/remotes\")).\n\nSounds good.  Thanks.\n"},{"id":"154702","messageId":"vpqpqut7upe.fsf@bauges.imag.fr","threadId":"25535","inReplyTo":"7vsjzp9a69.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH 01/10] Better \"Changed but not updated\" message in git-status","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2010-10-28T23:39:57Z","receivedAt":"2010-10-28T23:39:57Z","isPatch":true,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> Well, I was aiming for the same.  It is not the \"files\" but the changes\n> that matter, but what we list are files.\n\nNot only. We also list \"pairs of files\" in the case of a rename, and\nlist symlinks (which are technically files on unix, but not\nnecessarily seen as such by all users).\n\n>> I second that. Furthermore, keeping it short increase the changes that\n>> user will actually read the message.\n>\n> You could do s/Files with/With/ to shorten them.  Or perhaps\n>\n>     Changes to be committed are in:\n>         new file: foo.c\n>     Changes that will be left out are in:\n>         modified: foo.c\n\nI don't like the wording, and it would be worse in the case of\nrenames :\n\nChanges to be commited are in:\n   renamed: foo -> bar\n\nAnyway, I don't think we have a problem to solve here. While the\n\"changed but not updated\" was really confusing, I didn't see complains\nabout the \"Changes to be committed\", and I really think this one is\nfine as it is.\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"154703","messageId":"vpqocad7uou.fsf@bauges.imag.fr","threadId":"25535","inReplyTo":"20101028194252.GF14212@burratino","subject":"Re: [PATCH 08/10] user-manual.txt: explain better the remote(-tracking) branch terms","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2010-10-28T23:40:17Z","receivedAt":"2010-10-28T23:40:17Z","isPatch":true,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Jonathan Nieder <jrnieder@gmail.com> writes:\n\n>>  $ git branch -r\n>>    origin/HEAD\n>>    origin/html\n>>    origin/maint\n>>    origin/man\n>>    origin/master\n>>    origin/next\n>>    origin/pu\n>>    origin/todo\n>>  ------------------------------------------------\n>>\n>> +In this case, \"origin\" is called a remote repository, or \"remote\" for\n>> +short.\n>\n> \"In this case\" seems redundant (since we did not explain what other\n> case it is being opposed to).\n\nThe wording was unfortunate, but what I meant was to explain the\nexample right above while defining the vocabulary.\n\nI've changed it to \"In this example\".\n\n>  The repository of origin is called a remote repository, or a \"remote\" for\n>  short.\n>\n> would improve it?\n\nIt removes the link between the explanation and the example right\nabove. I prefer the quotes around \"origin\" to really show that it's\nthe string that appear in `git branch -r`.\n\n>>         The branches of this repository are called \"remote branches\"\n>> +from our point of view. The remote-tracking branches are created in\n>> +the local repository at clone time, as a copy of the remote branches.\n>\n> Sentence structure.  Maybe\n>\n>           The branches of this repository are called \"remote branches\"\n>   from our point of view. The remote-tracking branches listed above\n>   were created based on the remote branches at clone time and will be\n>   updated by \"git fetch\" and \"git push\".\n>   See <<Updating -a-repository-With-git-fetch>> for details.\n\nI've taken this (I like the \"listed above\" in particular), except I'm\nkeeping the (hence \"git pull\"), since \"git pull\" is probably more\nlikely to be used than \"git fetch\" by beginners.\n\n>> +This command will fetch the changes from the remote branches to your\n>> +remote-tracking branches `origin/*`, and merge default branch in the\n>> +current branch.\n>> +\n>\n> Article use.  Probably something like\n>\n> \ts/the changes/changes/\n> \ts/merge default branch in/merge the default branch into/\n>\n> would do.\n\nTaken, thanks.\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"154797","messageId":"1288373206.5748.16.camel@drew-northup.unet.maine.edu","threadId":"25535","inReplyTo":"vpqk4l2djqc.fsf@bauges.imag.fr","subject":"Re: [PATCH 03/10] Change remote tracking to remote-tracking in non-trivial places","fromName":"Drew Northup","fromEmail":"drew.northup@maine.edu","sentAt":"2010-10-29T17:26:46Z","receivedAt":"2010-10-29T17:26:46Z","isPatch":true,"sender":{"key":"drew.northup@maine.edu","avatar":"https://avatars.githubusercontent.com/u/18331571?v=4"},"body":"\nOn Fri, 2010-10-29 at 00:40 +0200, Matthieu Moy wrote:\n> Jonathan Nieder <jrnieder@gmail.com> writes:\n> \n> > Matthieu Moy wrote:\n> >\n> >> What I'm trying to do here is really to achieve consistancy. If\n> >> something has a name, let's use the same name everywhere.\n> >\n> > Okay, but can it at least not be part of a patch that does something\n> > simpler (only adding dashes)?\n> \n> OK, I'll do that.\n> \n> > I'm not sure why you don't like the idea of rewording it, but\n> > that's fine ---\n> \n> Not that I don't like the idea. I'm just saying that my patch makes\n> the situation better that it used to. No objection if other people\n> want to make it even better later (but I probably won't have time\n> soon).\n\nI was contemplating taking some time to look more closely at this\ndocument myself. This patch does not get in the way of my doing so.\n\n-- \n-Drew Northup N1XIM\n   AKA RvnPhnx on OPN\n________________________________________________\n\"As opposed to vegetable or mineral error?\"\n-John Pescatore, SANS NewsBites Vol. 12 Num. 59\n"},{"id":"154814","messageId":"1288386368.7988.22.camel@drew-northup.unet.maine.edu","threadId":"25535","inReplyTo":"20101028220956.GC16125@burratino","subject":"Re: [PATCH 01/10] Better \"Changed but not updated\" message in git-status","fromName":"Drew Northup","fromEmail":"drew.northup@maine.edu","sentAt":"2010-10-29T21:06:08Z","receivedAt":"2010-10-29T21:06:08Z","isPatch":true,"sender":{"key":"drew.northup@maine.edu","avatar":"https://avatars.githubusercontent.com/u/18331571?v=4"},"body":"\nOn Thu, 2010-10-28 at 17:09 -0500, Jonathan Nieder wrote:\n> Junio C Hamano wrote:\n> > Jonathan Nieder <jrnieder@gmail.com> writes:\n> \n> >>  # Changes to be committed:\n> >>  #   (use \"git reset HEAD <file>...\" to unstage)\n> >>  #\n> >>  #       new file:   foo.c\n> >>  #\n> >>  # Changes not staged for commit:\n> [...]\n> > Hmm, perhaps we'd want to restate the first one as well to read\n> > \n> >     Changes staged for commit:\n> >       (use \"git reset HEAD <path>...\" to unstage)\n> > \n> > for consistency as well?\n> \n> My first impression is no.  Since the main purpose of this text is to\n> be shown by \"git commit\", it might even make sense to say:\n> \n> # Changes to be committed:\n> #   (use \"git reset -- <path>...\" to unstage)\n> #\n> #\tnew file:    foo.c\n> #\n> # Changes not to be committed:\n> #   (use \"git add <path>...\" to update what will be committed)\n> #   (use \"git checkout -- <path>...\" to discard changes in working\n> #   directory)\n> #\n> #\ttypechange:  bar.c\n\nThis one gets my vote out of the replacements I've seen. I appreciate\nleaving the \"git add\" idiom untouched.\n\n> > Listing by filename gives a false impression that we are talking about the\n> > whole file contents, and looks a bit confusing until it is explained to\n> > you why when the same file appears in both of the first two sections.\n> \n> Iould be nice if the \"staged changes\" section gave a hint that there\n> were unstaged changes present.  Maybe something like the\n> \"unsaved file\" indicator used by some text editors:\n> \n> \tnew file:    foo.c*\n\nPerhaps in the to be/ not to be sections we could indicate the mtime of\nstaged changes in comparison with those not staged?\n\nstaged:\n#\tmodified:    foo.c    4:30 PM\nunstaged\n#\tmodified:    foo.c    4:50 PM\n\nIf we decide to do this I think it should be a separate patch from this\nset (functionality change as opposed to a terminology change). It would\nhowever make clear something that Thore initially complained about:\n\n> changed but not updated:\n>\n> I’m still not sure what “update” was ever supposed to mean in this\n> sentence. I just edited the file, so it’s updated, for crying out\n> loud!\"\nhttp://article.gmane.org/gmane.comp.version-control.git/159287 \n\n\n-- \n---------------------------------+--------------------------------------\nDrew Northup                     |          Technical Support Specialist\nUniversity of Maine System       |                Drew.Northup@Maine.edu\nComputing Center                 |                 phone: (207) 561-3513\nOrono, ME 04469                  |                   fax: (207) 561-3531\n"},{"id":"154822","messageId":"vpqlj5gxrbb.fsf@bauges.imag.fr","threadId":"25535","inReplyTo":"1288386368.7988.22.camel@drew-northup.unet.maine.edu","subject":"Re: [PATCH 01/10] Better \"Changed but not updated\" message in git-status","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2010-10-30T04:00:56Z","receivedAt":"2010-10-30T04:00:56Z","isPatch":true,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Drew Northup <drew.northup@maine.edu> writes:\n\n> On Thu, 2010-10-28 at 17:09 -0500, Jonathan Nieder wrote:\n>> \n>> # Changes to be committed:\n>> #   (use \"git reset -- <path>...\" to unstage)\n>> #\n>> #\tnew file:    foo.c\n>> #\n>> # Changes not to be committed:\n>> #   (use \"git add <path>...\" to update what will be committed)\n>> #   (use \"git checkout -- <path>...\" to discard changes in working\n>> #   directory)\n>> #\n>> #\ttypechange:  bar.c\n>\n> This one gets my vote out of the replacements I've seen. I appreciate\n> leaving the \"git add\" idiom untouched.\n\nI still prefer my version. \"Not staged for commit\" makes it clearer\nthat the files appear in this section because the user did not do some\naction (stage), while \"not to be commited\" remains a bit more\nmisterious about the reason why the changes will not be commited, and\nmentionning the word \"stage\" here somehow teaches the user what\nstaging means in the Git world.\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"154824","messageId":"1288411819-24462-1-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 00/11 v4] More consistant terminology","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-30T04:10:08Z","receivedAt":"2010-10-30T04:10:08Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"One more version, after Jonathan''s remarks.\n\nI've splitted the everyday.txt hunk in a separate patch, reworded one\ncomment and fixed some grammar in user-manual.txt (see corresponding\ndiscussions in thread for v3).\n\nJonathan Nieder (1):\n  user-manual: remote-tracking can be checked out, with detached HEAD\n\nMatthieu Moy (10):\n  Better \"Changed but not updated\" message in git-status\n  Replace \"remote tracking\" with \"remote-tracking\"\n  Change remote tracking to remote-tracking in non-trivial places\n  everyday.txt: change \"tracking branch\" to \"remote-tracking branch\"\n  Change \"tracking branch\" to \"remote-tracking branch\"\n  Change incorrect uses of \"remote branch\" meaning \"remote-tracking\"\n  Change incorrect \"remote branch\" to \"remote tracking branch\" in C\n    code\n  Use 'remote-tracking branch' in generated merge messages\n  user-manual.txt: explain better the remote(-tracking) branch terms\n  git-branch.txt: mention --set-upstream as a way to change upstream\n    configuration\n\n Documentation/config.txt               |   13 +++++-----\n Documentation/everyday.txt             |    6 ++--\n Documentation/fetch-options.txt        |    2 +-\n Documentation/git-branch.txt           |   14 ++++++-----\n Documentation/git-checkout.txt         |    2 +-\n Documentation/git-clone.txt            |    2 +-\n Documentation/git-describe.txt         |    2 +-\n Documentation/git-fetch.txt            |    2 +-\n Documentation/git-gc.txt               |    6 ++--\n Documentation/git-log.txt              |    2 +-\n Documentation/git-pull.txt             |    8 +++---\n Documentation/git-remote.txt           |    6 ++--\n Documentation/git-tag.txt              |    4 +-\n Documentation/gittutorial-2.txt        |    2 +-\n Documentation/gittutorial.txt          |    6 ++--\n Documentation/glossary-content.txt     |   20 ++++++++--------\n Documentation/rev-list-options.txt     |    2 +-\n Documentation/user-manual.txt          |   39 +++++++++++++++++++++++---------\n branch.h                               |    4 +-\n builtin/checkout.c                     |    4 +-\n builtin/fetch.c                        |    6 ++--\n builtin/fmt-merge-msg.c                |    6 ++--\n builtin/merge.c                        |    2 +-\n builtin/remote.c                       |    6 ++--\n contrib/examples/builtin-fetch--tool.c |    2 +-\n remote.c                               |    2 +-\n t/t1507-rev-parse-upstream.sh          |    2 +-\n t/t3409-rebase-preserve-merges.sh      |    2 +-\n t/t5400-send-pack.sh                   |    2 +-\n t/t5505-remote.sh                      |    8 ++++--\n t/t5513-fetch-track.sh                 |    2 +-\n t/t7508-status.sh                      |   34 ++++++++++++++--------------\n t/t7608-merge-messages.sh              |    4 +-\n wt-status.c                            |    2 +-\n 34 files changed, 124 insertions(+), 102 deletions(-)\n\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154825","messageId":"1288411819-24462-2-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 01/11] Better \"Changed but not updated\" message in git-status","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-30T04:10:09Z","receivedAt":"2010-10-30T04:10:09Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"Older Gits talked about \"updating\" a file to add its content to the\nindex, but this terminology is confusing for new users. \"to stage\" is far\nmore intuitive and already used in e.g. the \"git stage\" command name.\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/gittutorial-2.txt |    2 +-\n t/t7508-status.sh               |   34 +++++++++++++++++-----------------\n wt-status.c                     |    2 +-\n 3 files changed, 19 insertions(+), 19 deletions(-)\n\ndiff --git a/Documentation/gittutorial-2.txt b/Documentation/gittutorial-2.txt\nindex ecab0c0..7fe5848 100644\n--- a/Documentation/gittutorial-2.txt\n+++ b/Documentation/gittutorial-2.txt\n@@ -373,7 +373,7 @@ $ git status\n #\n #       new file: closing.txt\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #\n #       modified: file.txt\ndiff --git a/t/t7508-status.sh b/t/t7508-status.sh\nindex c9300f3..4de3e27 100755\n--- a/t/t7508-status.sh\n+++ b/t/t7508-status.sh\n@@ -44,7 +44,7 @@ cat >expect <<\\EOF\n #\n #\tnew file:   dir2/added\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -73,7 +73,7 @@ cat >expect <<\\EOF\n # Changes to be committed:\n #\tnew file:   dir2/added\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #\tmodified:   dir1/modified\n #\n # Untracked files:\n@@ -140,7 +140,7 @@ cat >expect <<EOF\n #\n #\tnew file:   dir2/added\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -167,7 +167,7 @@ cat >expect <<EOF\n # Changes to be committed:\n #\tnew file:   dir2/added\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #\tmodified:   dir1/modified\n #\n # Untracked files not listed\n@@ -202,7 +202,7 @@ cat >expect <<EOF\n #\n #\tnew file:   dir2/added\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -260,7 +260,7 @@ cat >expect <<EOF\n #\n #\tnew file:   dir2/added\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -320,7 +320,7 @@ cat >expect <<\\EOF\n #\n #\tnew file:   ../dir2/added\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -392,7 +392,7 @@ cat >expect <<\\EOF\n #\n #\t<GREEN>new file:   dir2/added<RESET>\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -521,7 +521,7 @@ cat >expect <<\\EOF\n #\n #\tnew file:   dir2/added\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -614,7 +614,7 @@ cat >expect <<EOF\n #\tnew file:   dir2/added\n #\tnew file:   sm\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -673,7 +673,7 @@ cat >expect <<EOF\n #\tnew file:   dir2/added\n #\tnew file:   sm\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -718,7 +718,7 @@ test_expect_success 'status -s submodule summary' '\n \n cat >expect <<EOF\n # On branch master\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -766,7 +766,7 @@ cat >expect <<EOF\n #\tnew file:   dir2/added\n #\tnew file:   sm\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -819,7 +819,7 @@ cat > expect << EOF\n #\n #\tmodified:   sm\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -931,7 +931,7 @@ cat > expect << EOF\n #\n #\tmodified:   sm\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #   (commit or discard the untracked or modified content in submodules)\n@@ -989,7 +989,7 @@ cat > expect << EOF\n #\n #\tmodified:   sm\n #\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\n@@ -1067,7 +1067,7 @@ test_expect_success \".git/config ignore=dirty doesn't suppress submodule summary\n \n cat > expect << EOF\n # On branch master\n-# Changed but not updated:\n+# Changes not staged for commit:\n #   (use \"git add <file>...\" to update what will be committed)\n #   (use \"git checkout -- <file>...\" to discard changes in working directory)\n #\ndiff --git a/wt-status.c b/wt-status.c\nindex fc2438f..d9f3d9f 100644\n--- a/wt-status.c\n+++ b/wt-status.c\n@@ -88,7 +88,7 @@ static void wt_status_print_dirty_header(struct wt_status *s,\n {\n \tconst char *c = color(WT_STATUS_HEADER, s);\n \n-\tcolor_fprintf_ln(s->fp, c, \"# Changed but not updated:\");\n+\tcolor_fprintf_ln(s->fp, c, \"# Changes not staged for commit:\");\n \tif (!advice_status_hints)\n \t\treturn;\n \tif (!has_deleted)\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154826","messageId":"1288411819-24462-3-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 02/11] Replace \"remote tracking\" with \"remote-tracking\"","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-30T04:10:10Z","receivedAt":"2010-10-30T04:10:10Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"\"remote-tracking\" branch makes it explicit that the branch is \"tracking a\nremote\", as opposed to \"remote, and tracking something\".\n\nSee discussion in e.g.\nhttp://mid.gmane.org/8835ADF9-45E5-4A26-9F7F-A72ECC065BB2@gmail.com\nfor more details.\n\nThis patch is a straightforward application of\n\n  perl -pi -e 's/remote tracking branch/remote-tracking branch/'\n\nexcept in the RelNotes directory.\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/config.txt           |    2 +-\n Documentation/fetch-options.txt    |    2 +-\n Documentation/git-log.txt          |    2 +-\n Documentation/git-pull.txt         |    2 +-\n Documentation/git-remote.txt       |    4 ++--\n Documentation/gittutorial.txt      |    2 +-\n Documentation/rev-list-options.txt |    2 +-\n Documentation/user-manual.txt      |    2 +-\n builtin/checkout.c                 |    2 +-\n t/t5513-fetch-track.sh             |    2 +-\n 10 files changed, 11 insertions(+), 11 deletions(-)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 538ebb5..e625d6a 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -708,7 +708,7 @@ color.diff.<slot>::\n color.decorate.<slot>::\n \tUse customized color for 'git log --decorate' output.  `<slot>` is one\n \tof `branch`, `remoteBranch`, `tag`, `stash` or `HEAD` for local\n-\tbranches, remote tracking branches, tags, stash and HEAD, respectively.\n+\tbranches, remote-tracking branches, tags, stash and HEAD, respectively.\n \n color.grep::\n \tWhen set to `always`, always highlight matches.  When `false` (or\ndiff --git a/Documentation/fetch-options.txt b/Documentation/fetch-options.txt\nindex 470ac31..a435c23 100644\n--- a/Documentation/fetch-options.txt\n+++ b/Documentation/fetch-options.txt\n@@ -36,7 +36,7 @@ ifndef::git-pull[]\n \n -p::\n --prune::\n-\tAfter fetching, remove any remote tracking branches which\n+\tAfter fetching, remove any remote-tracking branches which\n \tno longer exist\ton the remote.\n endif::git-pull[]\n \ndiff --git a/Documentation/git-log.txt b/Documentation/git-log.txt\nindex 6d40f00..ff41784 100644\n--- a/Documentation/git-log.txt\n+++ b/Documentation/git-log.txt\n@@ -116,7 +116,7 @@ git log --follow builtin-rev-list.c::\n git log --branches --not --remotes=origin::\n \n \tShows all commits that are in any of local branches but not in\n-\tany of remote tracking branches for 'origin' (what you have that\n+\tany of remote-tracking branches for 'origin' (what you have that\n \torigin doesn't).\n \n git log master --not --remotes=*/master::\ndiff --git a/Documentation/git-pull.txt b/Documentation/git-pull.txt\nindex c50f7dc..33e8438 100644\n--- a/Documentation/git-pull.txt\n+++ b/Documentation/git-pull.txt\n@@ -26,7 +26,7 @@ With `--rebase`, it runs 'git rebase' instead of 'git merge'.\n <repository> should be the name of a remote repository as\n passed to linkgit:git-fetch[1].  <refspec> can name an\n arbitrary remote ref (for example, the name of a tag) or even\n-a collection of refs with corresponding remote tracking branches\n+a collection of refs with corresponding remote-tracking branches\n (e.g., refs/heads/*:refs/remotes/origin/*), but usually it is\n the name of a branch in the remote repository.\n \ndiff --git a/Documentation/git-remote.txt b/Documentation/git-remote.txt\nindex 0d28feb..5e4989d 100644\n--- a/Documentation/git-remote.txt\n+++ b/Documentation/git-remote.txt\n@@ -75,7 +75,7 @@ was passed.\n \n 'rename'::\n \n-Rename the remote named <old> to <new>. All remote tracking branches and\n+Rename the remote named <old> to <new>. All remote-tracking branches and\n configuration settings for the remote are updated.\n +\n In case <old> and <new> are the same, and <old> is a file under\n@@ -84,7 +84,7 @@ the configuration file format.\n \n 'rm'::\n \n-Remove the remote named <name>. All remote tracking branches and\n+Remove the remote named <name>. All remote-tracking branches and\n configuration settings for the remote are removed.\n \n 'set-head'::\ndiff --git a/Documentation/gittutorial.txt b/Documentation/gittutorial.txt\nindex 1c16066..f1f4086 100644\n--- a/Documentation/gittutorial.txt\n+++ b/Documentation/gittutorial.txt\n@@ -385,7 +385,7 @@ alice$ git fetch bob\n \n Unlike the longhand form, when Alice fetches from Bob using a\n remote repository shorthand set up with 'git remote', what was\n-fetched is stored in a remote tracking branch, in this case\n+fetched is stored in a remote-tracking branch, in this case\n `bob/master`.  So after this:\n \n -------------------------------------\ndiff --git a/Documentation/rev-list-options.txt b/Documentation/rev-list-options.txt\nindex 7a42567..7a1b164 100644\n--- a/Documentation/rev-list-options.txt\n+++ b/Documentation/rev-list-options.txt\n@@ -264,7 +264,7 @@ endif::git-rev-list[]\n \n \tPretend as if all the refs in `refs/remotes` are listed\n \ton the command line as '<commit>'. If '<pattern>' is given, limit\n-\tremote tracking branches to ones matching given shell glob.\n+\tremote-tracking branches to ones matching given shell glob.\n \tIf pattern lacks '?', '*', or '[', '/*' at the end is implied.\n \n --glob=<glob-pattern>::\ndiff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt\nindex fc56da6..d5505e8 100644\n--- a/Documentation/user-manual.txt\n+++ b/Documentation/user-manual.txt\n@@ -1700,7 +1700,7 @@ may wish to check the original repository for updates and merge them\n into your own work.\n \n We have already seen <<Updating-a-repository-With-git-fetch,how to\n-keep remote tracking branches up to date>> with linkgit:git-fetch[1],\n+keep remote-tracking branches up to date>> with linkgit:git-fetch[1],\n and how to merge two branches.  So you can merge in changes from the\n original repository's master branch with:\n \ndiff --git a/builtin/checkout.c b/builtin/checkout.c\nindex 9240faf..9a934af 100644\n--- a/builtin/checkout.c\n+++ b/builtin/checkout.c\n@@ -786,7 +786,7 @@ int cmd_checkout(int argc, const char **argv, const char *prefix)\n \t *   With no paths, if <something> is _not_ a commit, no -t nor -b\n \t *   was given, and there is a tracking branch whose name is\n \t *   <something> in one and only one remote, then this is a short-hand\n-\t *   to fork local <something> from that remote tracking branch.\n+\t *   to fork local <something> from that remote-tracking branch.\n \t *\n \t *   Otherwise <something> shall not be ambiguous.\n \t *   - If it's *only* a reference, treat it like case (1).\ndiff --git a/t/t5513-fetch-track.sh b/t/t5513-fetch-track.sh\nindex 9e74862..65d1e05 100755\n--- a/t/t5513-fetch-track.sh\n+++ b/t/t5513-fetch-track.sh\n@@ -1,6 +1,6 @@\n #!/bin/sh\n \n-test_description='fetch follows remote tracking branches correctly'\n+test_description='fetch follows remote-tracking branches correctly'\n \n . ./test-lib.sh\n \n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154827","messageId":"1288411819-24462-4-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 03/11] Change remote tracking to remote-tracking in non-trivial places","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-30T04:10:11Z","receivedAt":"2010-10-30T04:10:11Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"To complement the straightforward perl application in previous patch,\nthis adds a few manual changes.\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/git-gc.txt      |    6 +++---\n Documentation/gittutorial.txt |    4 ++--\n t/t5400-send-pack.sh          |    2 +-\n 3 files changed, 6 insertions(+), 6 deletions(-)\n\ndiff --git a/Documentation/git-gc.txt b/Documentation/git-gc.txt\nindex 315f07e..801aede 100644\n--- a/Documentation/git-gc.txt\n+++ b/Documentation/git-gc.txt\n@@ -89,7 +89,7 @@ are not part of the current project most users will want to expire\n them sooner.  This option defaults to '30 days'.\n \n The above two configuration variables can be given to a pattern.  For\n-example, this sets non-default expiry values only to remote tracking\n+example, this sets non-default expiry values only to remote-tracking\n branches:\n \n ------------\n@@ -128,8 +128,8 @@ Notes\n \n 'git gc' tries very hard to be safe about the garbage it collects. In\n particular, it will keep not only objects referenced by your current set\n-of branches and tags, but also objects referenced by the index, remote\n-tracking branches, refs saved by 'git filter-branch' in\n+of branches and tags, but also objects referenced by the index,\n+remote-tracking branches, refs saved by 'git filter-branch' in\n refs/original/, or reflogs (which may reference commits in branches\n that were later amended or rewound).\n \ndiff --git a/Documentation/gittutorial.txt b/Documentation/gittutorial.txt\nindex f1f4086..0982f74 100644\n--- a/Documentation/gittutorial.txt\n+++ b/Documentation/gittutorial.txt\n@@ -402,8 +402,8 @@ could merge the changes into her master branch:\n alice$ git merge bob/master\n -------------------------------------\n \n-This `merge` can also be done by 'pulling from her own remote\n-tracking branch', like this:\n+This `merge` can also be done by 'pulling from her own remote-tracking\n+branch', like this:\n \n -------------------------------------\n alice$ git pull . remotes/bob/master\ndiff --git a/t/t5400-send-pack.sh b/t/t5400-send-pack.sh\nindex 5bcf0b8..b0b2684 100755\n--- a/t/t5400-send-pack.sh\n+++ b/t/t5400-send-pack.sh\n@@ -129,7 +129,7 @@ test_expect_success 'denyNonFastforwards trumps --force' '\n \ttest \"$victim_orig\" = \"$victim_head\"\n '\n \n-test_expect_success 'push --all excludes remote tracking hierarchy' '\n+test_expect_success 'push --all excludes remote-tracking hierarchy' '\n \tmkdir parent &&\n \t(\n \t    cd parent &&\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154828","messageId":"1288411819-24462-5-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 04/11] everyday.txt: change \"tracking branch\" to \"remote-tracking branch\"","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-30T04:10:12Z","receivedAt":"2010-10-30T04:10:12Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/everyday.txt |    6 +++---\n 1 files changed, 3 insertions(+), 3 deletions(-)\n\ndiff --git a/Documentation/everyday.txt b/Documentation/everyday.txt\nindex e0ba8cc..ae413e5 100644\n--- a/Documentation/everyday.txt\n+++ b/Documentation/everyday.txt\n@@ -180,12 +180,12 @@ directory; clone from it to start a repository on the satellite\n machine.\n <2> clone sets these configuration variables by default.\n It arranges `git pull` to fetch and store the branches of mothership\n-machine to local `remotes/origin/*` tracking branches.\n+machine to local `remotes/origin/*` remote-tracking branches.\n <3> arrange `git push` to push local `master` branch to\n `remotes/satellite/master` branch of the mothership machine.\n <4> push will stash our work away on `remotes/satellite/master`\n-tracking branch on the mothership machine.  You could use this as\n-a back-up method.\n+remote-tracking branch on the mothership machine.  You could use this\n+as a back-up method.\n <5> on mothership machine, merge the work done on the satellite\n machine into the master branch.\n \n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154835","messageId":"1288411819-24462-6-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 05/11] Change \"tracking branch\" to \"remote-tracking branch\"","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-30T04:10:13Z","receivedAt":"2010-10-30T04:10:13Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"One more step towards consistancy. We change the documentation and the C\ncode in a single patch, since the only instances in the C code are in\ncomment and usage strings.\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/config.txt           |    4 ++--\n Documentation/git-fetch.txt        |    2 +-\n Documentation/git-pull.txt         |    6 +++---\n Documentation/git-remote.txt       |    2 +-\n Documentation/git-tag.txt          |    4 ++--\n Documentation/glossary-content.txt |   20 ++++++++++----------\n Documentation/user-manual.txt      |    2 +-\n builtin/checkout.c                 |    2 +-\n builtin/fetch.c                    |    4 ++--\n remote.c                           |    2 +-\n 10 files changed, 24 insertions(+), 24 deletions(-)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex e625d6a..e4f16d8 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -680,7 +680,7 @@ color.branch::\n color.branch.<slot>::\n \tUse customized color for branch coloration. `<slot>` is one of\n \t`current` (the current branch), `local` (a local branch),\n-\t`remote` (a tracking branch in refs/remotes/), `plain` (other\n+\t`remote` (a remote-tracking branch in refs/remotes/), `plain` (other\n \trefs).\n +\n The value for these configuration variables is a list of colors (at most\n@@ -1102,7 +1102,7 @@ gui.newbranchtemplate::\n \tlinkgit:git-gui[1].\n \n gui.pruneduringfetch::\n-\t\"true\" if linkgit:git-gui[1] should prune tracking branches when\n+\t\"true\" if linkgit:git-gui[1] should prune remote-tracking branches when\n \tperforming a fetch. The default value is \"false\".\n \n gui.trustmtime::\ndiff --git a/Documentation/git-fetch.txt b/Documentation/git-fetch.txt\nindex d159e88..c76e313 100644\n--- a/Documentation/git-fetch.txt\n+++ b/Documentation/git-fetch.txt\n@@ -26,7 +26,7 @@ The ref names and their object names of fetched refs are stored\n in `.git/FETCH_HEAD`.  This information is left for a later merge\n operation done by 'git merge'.\n \n-When <refspec> stores the fetched result in tracking branches,\n+When <refspec> stores the fetched result in remote-tracking branches,\n the tags that point at these branches are automatically\n followed.  This is done by first fetching from the remote using\n the given <refspec>s, and if the repository has objects that are\ndiff --git a/Documentation/git-pull.txt b/Documentation/git-pull.txt\nindex 33e8438..54e7013 100644\n--- a/Documentation/git-pull.txt\n+++ b/Documentation/git-pull.txt\n@@ -134,7 +134,7 @@ and if there is not any such variable, the value on `URL: ` line\n in `$GIT_DIR/remotes/<origin>` file is used.\n \n In order to determine what remote branches to fetch (and\n-optionally store in the tracking branches) when the command is\n+optionally store in the remote-tracking branches) when the command is\n run without any refspec parameters on the command line, values\n of the configuration variable `remote.<origin>.fetch` are\n consulted, and if there aren't any, `$GIT_DIR/remotes/<origin>`\n@@ -147,9 +147,9 @@ refs/heads/*:refs/remotes/origin/*\n ------------\n \n A globbing refspec must have a non-empty RHS (i.e. must store\n-what were fetched in tracking branches), and its LHS and RHS\n+what were fetched in remote-tracking branches), and its LHS and RHS\n must end with `/*`.  The above specifies that all remote\n-branches are tracked using tracking branches in\n+branches are tracked using remote-tracking branches in\n `refs/remotes/origin/` hierarchy under the same name.\n \n The rule to determine which remote branch to merge after\ndiff --git a/Documentation/git-remote.txt b/Documentation/git-remote.txt\nindex 5e4989d..c258ea4 100644\n--- a/Documentation/git-remote.txt\n+++ b/Documentation/git-remote.txt\n@@ -146,7 +146,7 @@ With `-n` option, the remote heads are not queried first with\n \n 'prune'::\n \n-Deletes all stale tracking branches under <name>.\n+Deletes all stale remote-tracking branches under <name>.\n These stale branches have already been removed from the remote repository\n referenced by <name>, but are still locally available in\n \"remotes/<name>\".\ndiff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt\nindex 31c78a8..8b169e3 100644\n--- a/Documentation/git-tag.txt\n+++ b/Documentation/git-tag.txt\n@@ -177,7 +177,7 @@ On Automatic following\n ~~~~~~~~~~~~~~~~~~~~~~\n \n If you are following somebody else's tree, you are most likely\n-using tracking branches (`refs/heads/origin` in traditional\n+using remote-tracking branches (`refs/heads/origin` in traditional\n layout, or `refs/remotes/origin/master` in the separate-remote\n layout).  You usually want the tags from the other end.\n \n@@ -232,7 +232,7 @@ this case.\n It may well be that among networking people, they may want to\n exchange the tags internal to their group, but in that workflow\n they are most likely tracking with each other's progress by\n-having tracking branches.  Again, the heuristic to automatically\n+having remote-tracking branches.  Again, the heuristic to automatically\n follow such tags is a good thing.\n \n \ndiff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt\nindex 1f029f8..ba96b32 100644\n--- a/Documentation/glossary-content.txt\n+++ b/Documentation/glossary-content.txt\n@@ -131,7 +131,7 @@ to point at the new commit.\n \tyou have. In such these cases, you do not make a new <<def_merge,merge>>\n \t<<def_commit,commit>> but instead just update to his\n \trevision. This will happen frequently on a\n-\t<<def_tracking_branch,tracking branch>> of a remote\n+\t<<def_remote_tracking_branch,remote-tracking branch>> of a remote\n \t<<def_repository,repository>>.\n \n [[def_fetch]]fetch::\n@@ -260,7 +260,7 @@ This commit is referred to as a \"merge commit\", or sometimes just a\n \tThe default upstream <<def_repository,repository>>. Most projects have\n \tat least one upstream project which they track. By default\n \t'origin' is used for that purpose. New upstream updates\n-\twill be fetched into remote <<def_tracking_branch,tracking branches>> named\n+\twill be fetched into remote <<def_remote_tracking_branch,remote-tracking branches>> named\n \torigin/name-of-upstream-branch, which you can see using\n \t`git branch -r`.\n \n@@ -349,6 +349,14 @@ This commit is referred to as a \"merge commit\", or sometimes just a\n \tmaster branch head as to-upstream branch at $URL\". See also\n \tlinkgit:git-push[1].\n \n+[[def_remote_tracking_branch]]remote-tracking branch::\n+\tA regular git <<def_branch,branch>> that is used to follow changes from\n+\tanother <<def_repository,repository>>. A tracking\n+\tbranch should not contain direct modifications or have local commits\n+\tmade to it. A remote-tracking branch can usually be\n+\tidentified as the right-hand-side <<def_ref,ref>> in a Pull:\n+\t<<def_refspec,refspec>>.\n+\n [[def_repository]]repository::\n \tA collection of <<def_ref,refs>> together with an\n \t<<def_object_database,object database>> containing all objects\n@@ -418,14 +426,6 @@ This commit is referred to as a \"merge commit\", or sometimes just a\n \tthat each contain very well defined concepts or small incremental yet\n \trelated changes.\n \n-[[def_tracking_branch]]tracking branch::\n-\tA regular git <<def_branch,branch>> that is used to follow changes from\n-\tanother <<def_repository,repository>>. A tracking\n-\tbranch should not contain direct modifications or have local commits\n-\tmade to it. A tracking branch can usually be\n-\tidentified as the right-hand-side <<def_ref,ref>> in a Pull:\n-\t<<def_refspec,refspec>>.\n-\n [[def_tree]]tree::\n \tEither a <<def_working_tree,working tree>>, or a <<def_tree_object,tree\n \tobject>> together with the dependent <<def_blob_object,blob>> and tree objects\ndiff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt\nindex d5505e8..d7835ca 100644\n--- a/Documentation/user-manual.txt\n+++ b/Documentation/user-manual.txt\n@@ -435,7 +435,7 @@ linux-nfs/master\n origin/master\n -------------------------------------------------\n \n-If you run \"git fetch <remote>\" later, the tracking branches for the\n+If you run \"git fetch <remote>\" later, the remote-tracking branches for the\n named <remote> will be updated.\n \n If you examine the file .git/config, you will see that git has added\ndiff --git a/builtin/checkout.c b/builtin/checkout.c\nindex 9a934af..1fa9ce4 100644\n--- a/builtin/checkout.c\n+++ b/builtin/checkout.c\n@@ -784,7 +784,7 @@ int cmd_checkout(int argc, const char **argv, const char *prefix)\n \t *   between A and B, A...B names that merge base.\n \t *\n \t *   With no paths, if <something> is _not_ a commit, no -t nor -b\n-\t *   was given, and there is a tracking branch whose name is\n+\t *   was given, and there is a remote-tracking branch whose name is\n \t *   <something> in one and only one remote, then this is a short-hand\n \t *   to fork local <something> from that remote-tracking branch.\n \t *\ndiff --git a/builtin/fetch.c b/builtin/fetch.c\nindex d35f000..3b0b614 100644\n--- a/builtin/fetch.c\n+++ b/builtin/fetch.c\n@@ -52,7 +52,7 @@ static struct option builtin_fetch_options[] = {\n \tOPT_SET_INT('n', NULL, &tags,\n \t\t    \"do not fetch all tags (--no-tags)\", TAGS_UNSET),\n \tOPT_BOOLEAN('p', \"prune\", &prune,\n-\t\t    \"prune tracking branches no longer on remote\"),\n+\t\t    \"prune remote-tracking branches no longer on remote\"),\n \tOPT_BOOLEAN(0, \"dry-run\", &dry_run,\n \t\t    \"dry run\"),\n \tOPT_BOOLEAN('k', \"keep\", &keep, \"keep downloaded pack\"),\n@@ -98,7 +98,7 @@ static void add_merge_config(struct ref **head,\n \t\t\tcontinue;\n \n \t\t/*\n-\t\t * Not fetched to a tracking branch?  We need to fetch\n+\t\t * Not fetched to a remote-tracking branch?  We need to fetch\n \t\t * it anyway to allow this branch's \"branch.$name.merge\"\n \t\t * to be honored by 'git pull', but we do not have to\n \t\t * fail if branch.$name.merge is misconfigured to point\ndiff --git a/remote.c b/remote.c\nindex 9143ec7..ca42a12 100644\n--- a/remote.c\n+++ b/remote.c\n@@ -493,7 +493,7 @@ static void read_config(void)\n }\n \n /*\n- * We need to make sure the tracking branches are well formed, but a\n+ * We need to make sure the remote-tracking branches are well formed, but a\n  * wildcard refspec in \"struct refspec\" must have a trailing slash. We\n  * temporarily drop the trailing '/' while calling check_ref_format(),\n  * and put it back.  The caller knows that a CHECK_REF_FORMAT_ONELEVEL\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154830","messageId":"1288411819-24462-7-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 06/11] Change incorrect uses of \"remote branch\" meaning \"remote-tracking\"","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-30T04:10:14Z","receivedAt":"2010-10-30T04:10:14Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"\"remote branch\" is a branch hosted in a remote repository, while\n\"remote-tracking branch\" is a copy of such branch, hosted locally.\nThe distinction is subtle when the copy is up-to-date, but rather\nfundamental to understand what \"git fetch\" and \"git push\" do.\n\nThis patch should fix all incorrect usages in Documentation/ directory.\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/config.txt       |    7 ++++---\n Documentation/git-branch.txt   |   11 ++++++-----\n Documentation/git-checkout.txt |    2 +-\n Documentation/git-clone.txt    |    2 +-\n Documentation/git-describe.txt |    2 +-\n Documentation/user-manual.txt  |    9 +++++----\n 6 files changed, 18 insertions(+), 15 deletions(-)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex e4f16d8..6a6c0b5 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -601,8 +601,9 @@ branch.autosetupmerge::\n \tthis behavior can be chosen per-branch using the `--track`\n \tand `--no-track` options. The valid settings are: `false` -- no\n \tautomatic setup is done; `true` -- automatic setup is done when the\n-\tstarting point is a remote branch; `always` -- automatic setup is\n-\tdone when the starting point is either a local branch or remote\n+\tstarting point is a remote-tracking branch; `always` --\n+\tautomatic setup is done when the starting point is either a\n+\tlocal branch or remote-tracking\n \tbranch. This option defaults to true.\n \n branch.autosetuprebase::\n@@ -613,7 +614,7 @@ branch.autosetuprebase::\n \tWhen `local`, rebase is set to true for tracked branches of\n \tother local branches.\n \tWhen `remote`, rebase is set to true for tracked branches of\n-\tremote branches.\n+\tremote-tracking branches.\n \tWhen `always`, rebase will be set to true for all tracking\n \tbranches.\n \tSee \"branch.autosetupmerge\" for details on how to set up a\ndiff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt\nindex 1940256..7f23c56 100644\n--- a/Documentation/git-branch.txt\n+++ b/Documentation/git-branch.txt\n@@ -37,9 +37,9 @@ Note that this will create the new branch, but it will not switch the\n working tree to it; use \"git checkout <newbranch>\" to switch to the\n new branch.\n \n-When a local branch is started off a remote branch, git sets up the\n+When a local branch is started off a remote-tracking branch, git sets up the\n branch so that 'git pull' will appropriately merge from\n-the remote branch. This behavior may be changed via the global\n+the remote-tracking branch. This behavior may be changed via the global\n `branch.autosetupmerge` configuration flag. That setting can be\n overridden by using the `--track` and `--no-track` options.\n \n@@ -89,7 +89,8 @@ OPTIONS\n \tMove/rename a branch even if the new branch name already exists.\n \n --color[=<when>]::\n-\tColor branches to highlight current, local, and remote branches.\n+\tColor branches to highlight current, local, and\n+\tremote-tracking branches.\n \tThe value must be always (the default), never, or auto.\n \n --no-color::\n@@ -125,11 +126,11 @@ OPTIONS\n \tit directs `git pull` without arguments to pull from the\n \tupstream when the new branch is checked out.\n +\n-This behavior is the default when the start point is a remote branch.\n+This behavior is the default when the start point is a remote-tracking branch.\n Set the branch.autosetupmerge configuration variable to `false` if you\n want `git checkout` and `git branch` to always behave as if '--no-track'\n were given. Set it to `always` if you want this behavior when the\n-start-point is either a local or remote branch.\n+start-point is either a local or remote-tracking branch.\n \n --no-track::\n \tDo not set up \"upstream\" configuration, even if the\ndiff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt\nindex 22d3611..880763d 100644\n--- a/Documentation/git-checkout.txt\n+++ b/Documentation/git-checkout.txt\n@@ -98,7 +98,7 @@ entries; instead, unmerged entries are ignored.\n \t\"--track\" in linkgit:git-branch[1] for details.\n +\n If no '-b' option is given, the name of the new branch will be\n-derived from the remote branch.  If \"remotes/\" or \"refs/remotes/\"\n+derived from the remote-tracking branch.  If \"remotes/\" or \"refs/remotes/\"\n is prefixed it is stripped away, and then the part up to the\n next slash (which would be the nickname of the remote) is removed.\n This would tell us to use \"hack\" as the local branch when branching\ndiff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt\nindex ab72933..2320382 100644\n--- a/Documentation/git-clone.txt\n+++ b/Documentation/git-clone.txt\n@@ -131,7 +131,7 @@ objects from the source repository into a pack in the cloned repository.\n \tSet up a mirror of the source repository.  This implies `--bare`.\n \tCompared to `--bare`, `--mirror` not only maps local branches of the\n \tsource to local branches of the target, it maps all refs (including\n-\tremote branches, notes etc.) and sets up a refspec configuration such\n+\tremote-tracking branches, notes etc.) and sets up a refspec configuration such\n \tthat all these refs are overwritten by a `git remote update` in the\n \ttarget repository.\n \ndiff --git a/Documentation/git-describe.txt b/Documentation/git-describe.txt\nindex 7ef9d51..02e015a 100644\n--- a/Documentation/git-describe.txt\n+++ b/Documentation/git-describe.txt\n@@ -37,7 +37,7 @@ OPTIONS\n --all::\n \tInstead of using only the annotated tags, use any ref\n \tfound in `.git/refs/`.  This option enables matching\n-\tany known branch, remote branch, or lightweight tag.\n+\tany known branch, remote-tracking branch, or lightweight tag.\n \n --tags::\n \tInstead of using only the annotated tags, use any tag\ndiff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt\nindex d7835ca..d70f3e0 100644\n--- a/Documentation/user-manual.txt\n+++ b/Documentation/user-manual.txt\n@@ -1724,7 +1724,8 @@ accomplish the above with just a simple\n $ git pull\n -------------------------------------------------\n \n-More generally, a branch that is created from a remote branch will pull\n+More generally, a branch that is created from a remote-tracking branch\n+will pull\n by default from that branch.  See the descriptions of the\n branch.<name>.remote and branch.<name>.merge options in\n linkgit:git-config[1], and the discussion of the `--track` option in\n@@ -2106,7 +2107,7 @@ $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git\n $ cd work\n -------------------------------------------------\n \n-Linus's tree will be stored in the remote branch named origin/master,\n+Linus's tree will be stored in the remote-tracking branch named origin/master,\n and can be updated using linkgit:git-fetch[1]; you can track other\n public trees using linkgit:git-remote[1] to set up a \"remote\" and\n linkgit:git-fetch[1] to keep them up-to-date; see\n@@ -2800,8 +2801,8 @@ Be aware that commits that the old version of example/master pointed at\n may be lost, as we saw in the previous section.\n \n [[remote-branch-configuration]]\n-Configuring remote branches\n----------------------------\n+Configuring remote-tracking branches\n+------------------------------------\n \n We saw above that \"origin\" is just a shortcut to refer to the\n repository that you originally cloned from.  This information is\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154832","messageId":"1288411819-24462-8-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 07/11] Change incorrect \"remote branch\" to \"remote tracking branch\" in C code","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-30T04:10:15Z","receivedAt":"2010-10-30T04:10:15Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"(Just like we did for documentation already)\n\nIn the process, we change \"non-remote branch\" to \"branch outside the\nrefs/remotes/ hierarchy\" to avoid the ugly \"non-remote-tracking branch\".\nThe new formulation actually corresponds to how the code detects this\ncase (i.e. prefixcmp(refname, \"refs/remotes\")).\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n branch.h                               |    4 ++--\n builtin/fetch.c                        |    2 +-\n builtin/remote.c                       |    6 +++---\n contrib/examples/builtin-fetch--tool.c |    2 +-\n t/t5505-remote.sh                      |    8 +++++---\n t/t7608-merge-messages.sh              |    2 +-\n 6 files changed, 13 insertions(+), 11 deletions(-)\n\ndiff --git a/branch.h b/branch.h\nindex eed817a..4026e38 100644\n--- a/branch.h\n+++ b/branch.h\n@@ -22,8 +22,8 @@ void create_branch(const char *head, const char *name, const char *start_name,\n void remove_branch_state(void);\n \n /*\n- * Configure local branch \"local\" to merge remote branch \"remote\"\n- * taken from origin \"origin\".\n+ * Configure local branch \"local\" as downstream to branch \"remote\"\n+ * from remote \"origin\".  Used by git branch --set-upstream.\n  */\n #define BRANCH_CONFIG_VERBOSE 01\n extern void install_branch_config(int flag, const char *local, const char *origin, const char *remote);\ndiff --git a/builtin/fetch.c b/builtin/fetch.c\nindex 3b0b614..4243ef0 100644\n--- a/builtin/fetch.c\n+++ b/builtin/fetch.c\n@@ -359,7 +359,7 @@ static int store_updated_refs(const char *raw_url, const char *remote_name,\n \t\t\twhat = rm->name + 10;\n \t\t}\n \t\telse if (!prefixcmp(rm->name, \"refs/remotes/\")) {\n-\t\t\tkind = \"remote branch\";\n+\t\t\tkind = \"remote-tracking branch\";\n \t\t\twhat = rm->name + 13;\n \t\t}\n \t\telse {\ndiff --git a/builtin/remote.c b/builtin/remote.c\nindex e9a6e09..6a06282 100644\n--- a/builtin/remote.c\n+++ b/builtin/remote.c\n@@ -507,7 +507,7 @@ static int add_branch_for_removal(const char *refname,\n \t\t\treturn 0;\n \t}\n \n-\t/* don't delete non-remote refs */\n+\t/* don't delete non-remote-tracking refs */\n \tif (prefixcmp(refname, \"refs/remotes\")) {\n \t\t/* advise user how to delete local branches */\n \t\tif (!prefixcmp(refname, \"refs/heads/\"))\n@@ -791,9 +791,9 @@ static int rm(int argc, const char **argv)\n \n \tif (skipped.nr) {\n \t\tfprintf(stderr, skipped.nr == 1 ?\n-\t\t\t\"Note: A non-remote branch was not removed; \"\n+\t\t\t\"Note: A branch outside the refs/remotes/ hierarchy was not removed;\\n\"\n \t\t\t\"to delete it, use:\\n\" :\n-\t\t\t\"Note: Non-remote branches were not removed; \"\n+\t\t\t\"Note: Some branches outside the refs/remotes/ hierarchy were not removed;\\n\"\n \t\t\t\"to delete them, use:\\n\");\n \t\tfor (i = 0; i < skipped.nr; i++)\n \t\t\tfprintf(stderr, \"  git branch -d %s\\n\",\ndiff --git a/contrib/examples/builtin-fetch--tool.c b/contrib/examples/builtin-fetch--tool.c\nindex cd10dbc..3140e40 100644\n--- a/contrib/examples/builtin-fetch--tool.c\n+++ b/contrib/examples/builtin-fetch--tool.c\n@@ -148,7 +148,7 @@ static int append_fetch_head(FILE *fp,\n \t\twhat = remote_name + 10;\n \t}\n \telse if (!strncmp(remote_name, \"refs/remotes/\", 13)) {\n-\t\tkind = \"remote branch\";\n+\t\tkind = \"remote-tracking branch\";\n \t\twhat = remote_name + 13;\n \t}\n \telse {\ndiff --git a/t/t5505-remote.sh b/t/t5505-remote.sh\nindex 5d1c66e..d189add 100755\n--- a/t/t5505-remote.sh\n+++ b/t/t5505-remote.sh\n@@ -107,16 +107,18 @@ test_expect_success 'remove remote' '\n )\n '\n \n-test_expect_success 'remove remote protects non-remote branches' '\n+test_expect_success 'remove remote protects local branches' '\n (\n \tcd test &&\n \t{ cat >expect1 <<EOF\n-Note: A non-remote branch was not removed; to delete it, use:\n+Note: A branch outside the refs/remotes/ hierarchy was not removed;\n+to delete it, use:\n   git branch -d master\n EOF\n \t} &&\n \t{ cat >expect2 <<EOF\n-Note: Non-remote branches were not removed; to delete them, use:\n+Note: Some branches outside the refs/remotes/ hierarchy were not removed;\n+to delete them, use:\n   git branch -d foobranch\n   git branch -d master\n EOF\ndiff --git a/t/t7608-merge-messages.sh b/t/t7608-merge-messages.sh\nindex 28d5679..1c71296 100755\n--- a/t/t7608-merge-messages.sh\n+++ b/t/t7608-merge-messages.sh\n@@ -47,7 +47,7 @@ test_expect_success 'ambiguous tag' '\n \tcheck_oneline \"Merge commit QambiguousQ\"\n '\n \n-test_expect_success 'remote branch' '\n+test_expect_success 'remote-tracking branch' '\n \tgit checkout -b remote master &&\n \ttest_commit remote-1 &&\n \tgit update-ref refs/remotes/origin/master remote &&\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154829","messageId":"1288411819-24462-9-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 08/11] Use 'remote-tracking branch' in generated merge messages","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-30T04:10:16Z","receivedAt":"2010-10-30T04:10:16Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n builtin/fmt-merge-msg.c           |    6 +++---\n builtin/merge.c                   |    2 +-\n t/t1507-rev-parse-upstream.sh     |    2 +-\n t/t3409-rebase-preserve-merges.sh |    2 +-\n t/t7608-merge-messages.sh         |    2 +-\n 5 files changed, 7 insertions(+), 7 deletions(-)\n\ndiff --git a/builtin/fmt-merge-msg.c b/builtin/fmt-merge-msg.c\nindex 78c7774..5189b16 100644\n--- a/builtin/fmt-merge-msg.c\n+++ b/builtin/fmt-merge-msg.c\n@@ -100,8 +100,8 @@ static int handle_line(char *line)\n \t\torigin = line;\n \t\tstring_list_append(&src_data->tag, origin + 4);\n \t\tsrc_data->head_status |= 2;\n-\t} else if (!prefixcmp(line, \"remote branch \")) {\n-\t\torigin = line + 14;\n+\t} else if (!prefixcmp(line, \"remote-tracking branch \")) {\n+\t\torigin = line + strlen(\"remote-tracking branch \");\n \t\tstring_list_append(&src_data->r_branch, origin);\n \t\tsrc_data->head_status |= 2;\n \t} else {\n@@ -233,7 +233,7 @@ static void do_fmt_merge_msg_title(struct strbuf *out,\n \t\tif (src_data->r_branch.nr) {\n \t\t\tstrbuf_addstr(out, subsep);\n \t\t\tsubsep = \", \";\n-\t\t\tprint_joined(\"remote branch \", \"remote branches \",\n+\t\t\tprint_joined(\"remote-tracking branch \", \"remote-tracking branches \",\n \t\t\t\t\t&src_data->r_branch, out);\n \t\t}\n \t\tif (src_data->tag.nr) {\ndiff --git a/builtin/merge.c b/builtin/merge.c\nindex 10f091b..9ec13f1 100644\n--- a/builtin/merge.c\n+++ b/builtin/merge.c\n@@ -403,7 +403,7 @@ static void merge_name(const char *remote, struct strbuf *msg)\n \t\t\tgoto cleanup;\n \t\t}\n \t\tif (!prefixcmp(found_ref, \"refs/remotes/\")) {\n-\t\t\tstrbuf_addf(msg, \"%s\\t\\tremote branch '%s' of .\\n\",\n+\t\t\tstrbuf_addf(msg, \"%s\\t\\tremote-tracking branch '%s' of .\\n\",\n \t\t\t\t    sha1_to_hex(branch_head), remote);\n \t\t\tgoto cleanup;\n \t\t}\ndiff --git a/t/t1507-rev-parse-upstream.sh b/t/t1507-rev-parse-upstream.sh\nindex 8c8dfda..a455551 100755\n--- a/t/t1507-rev-parse-upstream.sh\n+++ b/t/t1507-rev-parse-upstream.sh\n@@ -85,7 +85,7 @@ test_expect_success 'merge my-side@{u} records the correct name' '\n \tgit branch -t new my-side@{u} &&\n \tgit merge -s ours new@{u} &&\n \tgit show -s --pretty=format:%s >actual &&\n-\techo \"Merge remote branch ${sq}origin/side${sq}\" >expect &&\n+\techo \"Merge remote-tracking branch ${sq}origin/side${sq}\" >expect &&\n \ttest_cmp expect actual\n )\n '\ndiff --git a/t/t3409-rebase-preserve-merges.sh b/t/t3409-rebase-preserve-merges.sh\nindex 74161a4..19341e5 100755\n--- a/t/t3409-rebase-preserve-merges.sh\n+++ b/t/t3409-rebase-preserve-merges.sh\n@@ -72,7 +72,7 @@ test_expect_success 'rebase -p fakes interactive rebase' '\n \tgit fetch &&\n \tgit rebase -p origin/topic &&\n \ttest 1 = $(git rev-list --all --pretty=oneline | grep \"Modify A\" | wc -l) &&\n-\ttest 1 = $(git rev-list --all --pretty=oneline | grep \"Merge remote branch \" | wc -l)\n+\ttest 1 = $(git rev-list --all --pretty=oneline | grep \"Merge remote-tracking branch \" | wc -l)\n \t)\n '\n \ndiff --git a/t/t7608-merge-messages.sh b/t/t7608-merge-messages.sh\nindex 1c71296..9225fa6 100755\n--- a/t/t7608-merge-messages.sh\n+++ b/t/t7608-merge-messages.sh\n@@ -54,7 +54,7 @@ test_expect_success 'remote-tracking branch' '\n \tgit checkout master &&\n \ttest_commit master-5 &&\n \tgit merge origin/master &&\n-\tcheck_oneline \"Merge remote branch Qorigin/masterQ\"\n+\tcheck_oneline \"Merge remote-tracking branch Qorigin/masterQ\"\n '\n \n test_done\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154834","messageId":"1288411819-24462-10-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 09/11] user-manual.txt: explain better the remote(-tracking) branch terms","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-30T04:10:17Z","receivedAt":"2010-10-30T04:10:17Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"Now that the documentation is mostly consistant in the use of \"remote\nbranch\" Vs \"remote-tracking branch\", let's make this distinction explicit\nearly in the user-manual.\n\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/user-manual.txt |   20 +++++++++++++++++---\n 1 files changed, 17 insertions(+), 3 deletions(-)\n\ndiff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt\nindex d70f3e0..62b3788 100644\n--- a/Documentation/user-manual.txt\n+++ b/Documentation/user-manual.txt\n@@ -344,7 +344,8 @@ Examining branches from a remote repository\n The \"master\" branch that was created at the time you cloned is a copy\n of the HEAD in the repository that you cloned from.  That repository\n may also have had other branches, though, and your local repository\n-keeps branches which track each of those remote branches, which you\n+keeps branches which track each of those remote branches, called\n+remote-tracking branches, which you\n can view using the \"-r\" option to linkgit:git-branch[1]:\n \n ------------------------------------------------\n@@ -359,6 +360,14 @@ $ git branch -r\n   origin/todo\n ------------------------------------------------\n \n+In this case, \"origin\" is called a remote repository, or \"remote\" for\n+short. The branches of this repository are called \"remote branches\"\n+from our point of view. The remote-tracking branches are created in\n+the local repository at clone time, as a copy of the remote branches.\n+They are references that will be updated by \"git fetch\" (hence by \"git\n+pull\"), and by \"git push\". See\n+<<Updating-a-repository-With-git-fetch>> for details.\n+\n You cannot check out these remote-tracking branches, but you can\n examine them on a branch of your own, just as you would a tag:\n \n@@ -1716,14 +1725,19 @@ one step:\n $ git pull origin master\n -------------------------------------------------\n \n-In fact, if you have \"master\" checked out, then by default \"git pull\"\n-merges from the HEAD branch of the origin repository.  So often you can\n+In fact, if you have \"master\" checked out, then this branch has been\n+configured by \"git clone\" to get changes from the HEAD branch of the\n+origin repository.  So often you can\n accomplish the above with just a simple\n \n -------------------------------------------------\n $ git pull\n -------------------------------------------------\n \n+This command will fetch the changes from the remote branches to your\n+remote-tracking branches `origin/*`, and merge default branch in the\n+current branch.\n+\n More generally, a branch that is created from a remote-tracking branch\n will pull\n by default from that branch.  See the descriptions of the\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154833","messageId":"1288411819-24462-11-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 10/11] user-manual: remote-tracking can be checked out, with detached HEAD","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-30T04:10:18Z","receivedAt":"2010-10-30T04:10:18Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"From: Jonathan Nieder <jrnieder@gmail.com>\n\nSigned-off-by: Jonathan Nieder <jrnieder@gmail.com>\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/user-manual.txt |   26 ++++++++++++++------------\n 1 files changed, 14 insertions(+), 12 deletions(-)\n\ndiff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt\nindex 62b3788..3108b38 100644\n--- a/Documentation/user-manual.txt\n+++ b/Documentation/user-manual.txt\n@@ -360,21 +360,23 @@ $ git branch -r\n   origin/todo\n ------------------------------------------------\n \n-In this case, \"origin\" is called a remote repository, or \"remote\" for\n-short. The branches of this repository are called \"remote branches\"\n-from our point of view. The remote-tracking branches are created in\n-the local repository at clone time, as a copy of the remote branches.\n-They are references that will be updated by \"git fetch\" (hence by \"git\n-pull\"), and by \"git push\". See\n-<<Updating-a-repository-With-git-fetch>> for details.\n+In this example, \"origin\" is called a remote repository, or \"remote\"\n+for short. The branches of this repository are called \"remote\n+branches\" from our point of view. The remote-tracking branches listed\n+above were created based on the remote branches at clone time and will\n+be updated by \"git fetch\" (hence \"git pull) and \"git push\". See\n+<<Updating -a-repository-With-git-fetch>> for details.\n \n-You cannot check out these remote-tracking branches, but you can\n-examine them on a branch of your own, just as you would a tag:\n+You might want to build on one of these remote-tracking branches\n+on a branch of your own, just as you would for a tag:\n \n ------------------------------------------------\n $ git checkout -b my-todo-copy origin/todo\n ------------------------------------------------\n \n+You can also check out \"origin/todo\" directly to examine it or\n+write a one-off patch.  See <<detached-head,detached head>>.\n+\n Note that the name \"origin\" is just the name that git uses by default\n to refer to the repository that you cloned from.\n \n@@ -1734,9 +1736,9 @@ accomplish the above with just a simple\n $ git pull\n -------------------------------------------------\n \n-This command will fetch the changes from the remote branches to your\n-remote-tracking branches `origin/*`, and merge default branch in the\n-current branch.\n+This command will fetch changes from the remote branches to your\n+remote-tracking branches `origin/*`, and merge the default branch into\n+the current branch.\n \n More generally, a branch that is created from a remote-tracking branch\n will pull\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154831","messageId":"1288411819-24462-12-git-send-email-Matthieu.Moy@imag.fr","threadId":"25535","inReplyTo":"1287851481-27952-1-git-send-email-Matthieu.Moy@imag.fr","subject":"[PATCH 11/11] git-branch.txt: mention --set-upstream as a way to change upstream configuration","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@imag.fr","sentAt":"2010-10-30T04:10:19Z","receivedAt":"2010-10-30T04:10:19Z","isPatch":true,"sender":{"key":"git@matthieu-moy.fr","avatar":"https://avatars.githubusercontent.com/u/14709?v=4"},"body":"\nSigned-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>\n---\n Documentation/git-branch.txt |    3 ++-\n 1 files changed, 2 insertions(+), 1 deletions(-)\n\ndiff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt\nindex 7f23c56..9106d38 100644\n--- a/Documentation/git-branch.txt\n+++ b/Documentation/git-branch.txt\n@@ -41,7 +41,8 @@ When a local branch is started off a remote-tracking branch, git sets up the\n branch so that 'git pull' will appropriately merge from\n the remote-tracking branch. This behavior may be changed via the global\n `branch.autosetupmerge` configuration flag. That setting can be\n-overridden by using the `--track` and `--no-track` options.\n+overridden by using the `--track` and `--no-track` options, and\n+changed later using `git branch --set-upstream`.\n \n With a '-m' or '-M' option, <oldbranch> will be renamed to <newbranch>.\n If <oldbranch> had a corresponding reflog, it is renamed to match\n-- \n1.7.3.2.183.g2e7b0\n"},{"id":"154838","messageId":"20101030065844.GB30613@burratino","threadId":"25535","inReplyTo":"1288411819-24462-1-git-send-email-Matthieu.Moy@imag.fr","subject":"Re: [PATCH 00/11 v4] More consistant terminology","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2010-10-30T06:58:44Z","receivedAt":"2010-10-30T06:58:44Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Matthieu Moy wrote:\n\n> Jonathan Nieder (1):\n>   user-manual: remote-tracking can be checked out, with detached HEAD\n> \n> Matthieu Moy (10):\n>   Better \"Changed but not updated\" message in git-status\n>   Replace \"remote tracking\" with \"remote-tracking\"\n>   Change remote tracking to remote-tracking in non-trivial places\n>   everyday.txt: change \"tracking branch\" to \"remote-tracking branch\"\n>   Change \"tracking branch\" to \"remote-tracking branch\"\n>   Change incorrect uses of \"remote branch\" meaning \"remote-tracking\"\n>   Change incorrect \"remote branch\" to \"remote tracking branch\" in C\n>     code\n>   Use 'remote-tracking branch' in generated merge messages\n>   user-manual.txt: explain better the remote(-tracking) branch terms\n>   git-branch.txt: mention --set-upstream as a way to change upstream\n>     configuration\n\nAcked-by: Jonathan Nieder <jrnieder@gmail.com>\nSorry to draw this out so (and thanks for your work!).\n\nIMHO patches 7 and 8 should be squashed to avoid breaking the\nfetch/fmt-merge-msg interface, but there is no need to resend again\nto make that happen.\n"},{"id":"154841","messageId":"20101030071811.GA30779@burratino","threadId":"25535","inReplyTo":"1288411819-24462-10-git-send-email-Matthieu.Moy@imag.fr","subject":"Re: [PATCH 09/11] user-manual.txt: explain better the remote(-tracking) branch terms","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2010-10-30T07:18:11Z","receivedAt":"2010-10-30T07:18:11Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Matthieu Moy wrote:\n\n> --- a/Documentation/user-manual.txt\n> +++ b/Documentation/user-manual.txt\n> @@ -359,6 +360,14 @@ $ git branch -r\n>    origin/todo\n>  ------------------------------------------------\n>  \n> +In this case, \"origin\" is called a remote repository, or \"remote\" for\n[...]\n\nDid you send the wrong patch?  This looks the same as last time.\n\n(comparing to\n<http://thread.gmane.org/gmane.comp.version-control.git/159798/focus=160252>)\n"},{"id":"154892","messageId":"vpqvd4ih0kv.fsf@bauges.imag.fr","threadId":"25535","inReplyTo":"20101030071811.GA30779@burratino","subject":"Re: [PATCH 09/11] user-manual.txt: explain better the remote(-tracking) branch terms","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2010-10-31T14:57:20Z","receivedAt":"2010-10-31T14:57:20Z","isPatch":true,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Jonathan Nieder <jrnieder@gmail.com> writes:\n\n> Matthieu Moy wrote:\n>\n>> --- a/Documentation/user-manual.txt\n>> +++ b/Documentation/user-manual.txt\n>> @@ -359,6 +360,14 @@ $ git branch -r\n>>    origin/todo\n>>  ------------------------------------------------\n>>  \n>> +In this case, \"origin\" is called a remote repository, or \"remote\" for\n> [...]\n>\n> Did you send the wrong patch?  This looks the same as last time.\n\nNice catch. I had squashed my changes into the wrong patch (if you\nlook closely, it ended up in patch 10/11).\n\nAlso, after looking more closely, you're right about squashing the\nchanges in fetch and fmt-merge-msg, I do introduce a (transcient,\nuntested) bug.\n\nI've fixed all that locally. I'll resend the serie tomorrow or the day\nafter (better wait for comments, I've already bothered the list too\nmuch with resends of the serie, and I'll be offline travelling).\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"}]}