From: Junio C Hamano <gitster@pobox.com>
To: git@vger.kernel.org
Subject: [PATCH v2 8/9] fetch doc: add a section on configured remote-tracking branches
Date: Tue, 3 Jun 2014 15:16:31 -0700 [thread overview]
Message-ID: <1401833792-2486-9-git-send-email-gitster@pobox.com> (raw)
In-Reply-To: <1401833792-2486-1-git-send-email-gitster@pobox.com>
To resurrect a misleading mention removed in the previous step,
add a section to explain how the remote-tracking configuration
interacts with the refspecs given as the command-line arguments.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
Documentation/git-fetch.txt | 43 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
diff --git a/Documentation/git-fetch.txt b/Documentation/git-fetch.txt
index 06106b9..d09736a 100644
--- a/Documentation/git-fetch.txt
+++ b/Documentation/git-fetch.txt
@@ -51,6 +51,49 @@ include::pull-fetch-param.txt[]
include::urls-remotes.txt[]
+CONFIGURED REMOTE-TRACKING BRANCHES
+-----------------------------------
+
+You would often interact with the same remote repository by
+regularly and repeatedly fetching from it. In order to keep track
+of the progress of such a remote repository, `git fetch` allows you
+to configure `remote.<repository>.fetch` configuration variable.
+
+Typically such a variable may look like this:
+
+------------------------------------------------
+[remote "origin"]
+ fetch = +refs/heads/*:refs/remotes/origin/*
+------------------------------------------------
+
+This configuration is used in two ways:
+
+* When `git fetch` command is run without specifying what branches
+ and/or tags to fetch on the command line, e.g. `git fetch origin`
+ or `git fetch`, the values configured to this variable are used as
+ the refspecs to be used to fetch. The example above will fetch
+ all branches that exist on the `origin` (i.e. any ref that matches
+ the left-hand side of the value, `refs/heads/*`) and update the
+ corresponding remote-tracking branches in `refs/remotes/origin/*`
+ hierarchy.
+
+* When `git fetch` command is run with explicit branches and/or tags
+ to fetch on the command line, e.g. `git fetch origin master`, the
+ <refspec> given on the command line (e.g. `master` in the example,
+ which is a short-hand for `master:`, which in turn would mean
+ "fetch the 'master' branch but I do not explicitly say what
+ remote-tracking branch to update with it from the command line")
+ determines what are to be fetched, and the example command will
+ fetch _only_ the 'master' branch. The values of the variable are
+ used to map the branch (i.e. `master`) to determine which
+ remote-tracking branch, if any, is updated. When used in this
+ way, the values of the configuration variable do not have any
+ effect in deciding _what_ gets fetched (i.e. the values are not
+ used as refspecs when the command-line lists refspecs); they are
+ only used to decide _where_ the refs that are fetched are stored
+ by acting as a mapping.
+
+
EXAMPLES
--------
--
2.0.0-511-g1433423
next prev parent reply other threads:[~2014-06-03 22:17 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-03 22:16 [PATCH v2 0/9] Clarify two uses of remote.*.fetch Junio C Hamano
2014-06-03 22:16 ` [PATCH v2 1/9] fetch doc: update introductory part for clarity Junio C Hamano
2014-06-03 22:16 ` [PATCH v2 2/9] fetch doc: move FETCH_HEAD material lower and add an example Junio C Hamano
2014-06-03 22:16 ` [PATCH v2 3/9] fetch doc: update note on '+' in front of the refspec Junio C Hamano
2014-06-18 7:56 ` Michael Haggerty
2014-06-03 22:16 ` [PATCH v2 4/9] fetch doc: remove notes on outdated "mixed layout" Junio C Hamano
2014-06-03 22:16 ` [PATCH v2 5/9] fetch doc: on pulling multiple refspecs Junio C Hamano
2014-06-04 14:44 ` Marc Branchaud
2014-06-03 22:16 ` [PATCH v2 6/9] fetch doc: update refspec format description Junio C Hamano
2014-06-03 22:16 ` [PATCH v2 7/9] fetch doc: remove "short-cut" section Junio C Hamano
2014-06-04 14:46 ` Marc Branchaud
2014-06-03 22:16 ` Junio C Hamano [this message]
2014-06-04 14:55 ` [PATCH v2 8/9] fetch doc: add a section on configured remote-tracking branches Marc Branchaud
2014-06-04 22:17 ` Junio C Hamano
2014-06-05 15:29 ` Marc Branchaud
2014-06-05 15:40 ` [PATCH] docs: Explain the purpose of fetch's and pull's <refspec> parameter Marc Branchaud
2014-06-05 22:12 ` Junio C Hamano
2014-06-11 14:24 ` Marc Branchaud
2014-06-03 22:16 ` [PATCH v2 9/9] fetch: allow explicit --refmap to override configuration Junio C Hamano
2014-06-04 15:01 ` Marc Branchaud
2014-06-04 22:28 ` Junio C Hamano
2014-06-05 15:45 ` Marc Branchaud
2014-06-05 18:36 ` Junio C Hamano
2014-06-18 12:21 ` Michael Haggerty
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1401833792-2486-9-git-send-email-gitster@pobox.com \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).