git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 17/23] git-fetch.txt: improve description of tag auto-following

From
Michael Haggerty <mhagger@alum.mit.edu>
Date
Oct 30, 2013, 05:33 UTC
Message-ID
<1383111192-23780-18-git-send-email-mhagger@alum.mit.edu>
In-Reply-To
<1383111192-23780-1-git-send-email-mhagger@alum.mit.edu>

Make it clearer that tags are fetched independent of which branches were fetched from the remote in any particular fetch. (Tags are even fetched if they point at objects that are in the current repository but not reachable, which is probably a bug.)

Put less emphasis on the mechanism and more on the effect of tag auto-following. Also mention the options and configuration settings that can change the tag-fetching behavior.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
---

The "probable bug" mentioned above has been reported to the mailing list [1] but is not addressed in the current patch series.

[1] http://article.gmane.org/gmane.comp.version-control.git/236829
 Documentation/git-fetch.txt | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/Documentation/git-fetch.txt b/Documentation/git-fetch.txt
index e08a028..1065713 100644
--- a/Documentation/git-fetch.txt
+++ b/Documentation/git-fetch.txt
@@ -24,13 +24,13 @@ The ref names and their object names of fetched refs are stored
 in `.git/FETCH_HEAD`.  This information is left for a later merge
 operation done by 'git merge'.
 
-When <refspec> stores the fetched result in remote-tracking branches,
-the tags that point at these branches are automatically
-followed.  This is done by first fetching from the remote using
-the given <refspec>s, and if the repository has objects that are
-pointed by remote tags that it does not yet have, then fetch
-those missing tags.  If the other end has tags that point at
-branches you are not interested in, you will not get them.
+By default, tags are auto-followed.  This means that when fetching
+from a remote, any tags on the remote that point to objects that exist
+in the local repository are fetched.  The effect is to fetch tags that
+point at branches that you are interested in.  This default behavior
+can be changed by using the --tags or --no-tags options, by
+configuring remote.<name>.tagopt, or by using a refspec that fetches
+tags explicitly.
 
 'git fetch' can fetch from either a single named repository,
 or from several repositories at once if <group> is given and
-- 
1.8.4.1
Previous: Michael HaggertyNext: Michael Haggerty
Message 22 of 28 in “Change semantics of "fetch --tags"”
  1. 00/23 Change semantics of "fetch --tags"Michael Haggerty, Oct 30, 2013
  2. 01/23 t5510: use the correct tag name in testMichael Haggerty, Oct 30, 2013
  3. 02/23 t5510: prepare test refs more straightforwardlyMichael Haggerty, Oct 30, 2013
  4. Ramkumar RamachandraOct 30, 2013
  5. Michael HaggertyOct 30, 2013
  6. 03/23 t5510: check that "git fetch --prune --tags" does not prune branchesMichael Haggerty, Oct 30, 2013
  7. 04/23 api-remote.txt: correct section "struct refspec"Michael Haggerty, Oct 30, 2013
  8. 05/23 get_ref_map(): rename local variablesMichael Haggerty, Oct 30, 2013
  9. 06/23 builtin/fetch.c: reorder function definitionsMichael Haggerty, Oct 30, 2013
  10. 07/23 get_expanded_map(): add docstringMichael Haggerty, Oct 30, 2013
  11. 08/23 get_expanded_map(): avoid memory leakMichael Haggerty, Oct 30, 2013
  12. 09/23 fetch: only opportunistically update references based on command lineMichael Haggerty, Oct 30, 2013
  13. 10/23 fetch --tags: fetch tags *in addition to* other stuffMichael Haggerty, Oct 30, 2013
  14. 11/23 fetch --prune: prune only based on explicit refspecsMichael Haggerty, Oct 30, 2013
  15. 12/23 query_refspecs(): move some constants out of the loopMichael Haggerty, Oct 30, 2013
  16. Ramkumar RamachandraOct 30, 2013
  17. Michael HaggertyOct 30, 2013
  18. 13/23 builtin/remote.c: reorder function definitionsMichael Haggerty, Oct 30, 2013
  19. 14/23 builtin/remote.c:update(): use struct argv_arrayMichael Haggerty, Oct 30, 2013
  20. 15/23 fetch, remote: properly convey --no-prune options to subprocessesMichael Haggerty, Oct 30, 2013
  21. 16/23 fetch-options.txt: simplify ifdef/ifndef/endif usageMichael Haggerty, Oct 30, 2013
  22. 17/23 git-fetch.txt: improve description of tag auto-followingMichael Haggerty, Oct 30, 2013
  23. 18/23 ref_remove_duplicates(): avoid redundant bisectionMichael Haggerty, Oct 30, 2013
  24. 19/23 t5536: new test of refspec conflicts when fetchingMichael Haggerty, Oct 30, 2013
  25. 20/23 ref_remove_duplicates(): simplify loop logicMichael Haggerty, Oct 30, 2013
  26. 21/23 ref_remote_duplicates(): extract a function handle_duplicate()Michael Haggerty, Oct 30, 2013
  27. 22/23 handle_duplicate(): mark error message for translationMichael Haggerty, Oct 30, 2013
  28. 23/23 fetch: improve the error messages emitted for conflicting refspecsMichael Haggerty, Oct 30, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.