{"thread":{"id":"10756","subject":"[PATCH 07/11] git-fetch: Limit automated tag following to only fetched objects","startedAt":"2007-11-09T11:06:31Z","lastAt":"2007-11-11T05:49:51Z","messageCount":6,"participants":["Shawn O. Pearce","Johannes Sixt","Junio C Hamano","CJ van den Berg","Andreas Ericsson"],"isPatch":true,"patchVersion":1,"patchTotal":11},"messages":[{"id":"59025","messageId":"20071109110631.GG19368@spearce.org","threadId":"10756","inReplyTo":null,"subject":"[PATCH 07/11] git-fetch: Limit automated tag following to only fetched objects","fromName":"Shawn O. Pearce","fromEmail":"spearce@spearce.org","sentAt":"2007-11-09T11:06:31Z","receivedAt":"2007-11-09T11:06:31Z","isPatch":true,"sender":{"key":"spearce@spearce.org","avatar":"https://avatars.githubusercontent.com/u/34844?v=4"},"body":"When we fetch objects with any transport we want to follow (fetch)\nany tag that refers to an object we just transferred, if automated\ntag fetching is enabled.\n\nIn the past this rule was based on any object that was supposedly\nreachable by the local repository.  However this depended heavily\non the transport implementation actually using the object walking\nsystem to lookup all reachable objects.  In the case of both the\nnative git protocol and the HTTP walker not all objects get looked\nup; instead only those that are necessary to determine what to fetch\nare processed.  This can cause random behavior for tags where some\nare fetched and some aren't.\n\nWe now redefine the rule to be: \"tags are fetched if they refer\nto an object that was just transferred; that is an object that is\nnew to your repository\".  This rule is quite simple to understand,\nyou only get a tag if you just got the object it refers to.\n\nSome of the test vectors for t5515 were affected by this as they\nwere listing \"not-for-merge\" tags in .git/FETCH_HEAD that were\nbeing fetched under the old rule but are now not fetched under the\nnew rule.  To be perfectly honest I have no idea why they were even\nfetching under the old rule, and I think that's part of the problem\nwith the old rule.  It was very difficult to understand why some\nthings would auto-follow a tag and others wouldn't.\n\nAs a bonus side-effect of this change git-fetch will fail early\nwithout updating any refs if a bogus server gave us a packfile\nthat doesn't contain all of the objects we need to make a fully\nreachable ref.  This could happen due to a bug on the remote side,\nwhere the set of objects to be packed was miscalculated and a valid\npackfile was sent but one or more objects are missing from it.\nIt has probably never happened in practice but its better to be\nparanoid in what we accept over the wire then to blindly trust the\nother peer.\n\nSigned-off-by: Shawn O. Pearce <spearce@spearce.org>\n---\n builtin-fetch.c                                    |   41 +++++++++++++++++++-\n t/t5515/fetch.br-branches-default                  |    2 -\n t/t5515/fetch.br-branches-default-merge            |    2 -\n ...etch.br-branches-default-merge_branches-default |    2 -\n t/t5515/fetch.br-branches-default-octopus          |    2 -\n ...ch.br-branches-default-octopus_branches-default |    2 -\n t/t5515/fetch.br-branches-default_branches-default |    2 -\n t/t5515/fetch.br-branches-one                      |    2 -\n t/t5515/fetch.br-branches-one-merge                |    2 -\n t/t5515/fetch.br-branches-one-merge_branches-one   |    2 -\n t/t5515/fetch.br-branches-one-octopus              |    2 -\n t/t5515/fetch.br-branches-one-octopus_branches-one |    2 -\n t/t5515/fetch.br-branches-one_branches-one         |    2 -\n t/t5515/fetch.br-config-explicit                   |    2 -\n t/t5515/fetch.br-config-explicit-merge             |    2 -\n .../fetch.br-config-explicit-merge_config-explicit |    2 -\n t/t5515/fetch.br-config-explicit-octopus           |    2 -\n ...etch.br-config-explicit-octopus_config-explicit |    2 -\n t/t5515/fetch.br-config-explicit_config-explicit   |    2 -\n t/t5515/fetch.br-config-glob                       |    2 -\n t/t5515/fetch.br-config-glob-merge                 |    2 -\n t/t5515/fetch.br-config-glob-merge_config-glob     |    2 -\n t/t5515/fetch.br-config-glob-octopus               |    2 -\n t/t5515/fetch.br-config-glob-octopus_config-glob   |    2 -\n t/t5515/fetch.br-config-glob_config-glob           |    2 -\n t/t5515/fetch.br-remote-explicit                   |    2 -\n t/t5515/fetch.br-remote-explicit-merge             |    2 -\n .../fetch.br-remote-explicit-merge_remote-explicit |    2 -\n t/t5515/fetch.br-remote-explicit-octopus           |    2 -\n ...etch.br-remote-explicit-octopus_remote-explicit |    2 -\n t/t5515/fetch.br-remote-explicit_remote-explicit   |    2 -\n t/t5515/fetch.br-remote-glob                       |    2 -\n t/t5515/fetch.br-remote-glob-merge                 |    2 -\n t/t5515/fetch.br-remote-glob-merge_remote-glob     |    2 -\n t/t5515/fetch.br-remote-glob-octopus               |    2 -\n t/t5515/fetch.br-remote-glob-octopus_remote-glob   |    2 -\n t/t5515/fetch.br-remote-glob_remote-glob           |    2 -\n t/t5515/fetch.br-unconfig                          |    2 -\n ...nfig_.._.git_one_tag_tag-one_tag_tag-three-file |    1 -\n ...h.br-unconfig_.._.git_tag_tag-one_tag_tag-three |    2 -\n t/t5515/fetch.br-unconfig_branches-default         |    2 -\n t/t5515/fetch.br-unconfig_branches-one             |    2 -\n t/t5515/fetch.br-unconfig_config-explicit          |    2 -\n t/t5515/fetch.br-unconfig_config-glob              |    2 -\n t/t5515/fetch.br-unconfig_remote-explicit          |    2 -\n t/t5515/fetch.br-unconfig_remote-glob              |    2 -\n t/t5515/fetch.master                               |    2 -\n ...ster_.._.git_one_tag_tag-one_tag_tag-three-file |    1 -\n .../fetch.master_.._.git_tag_tag-one_tag_tag-three |    2 -\n t/t5515/fetch.master_branches-default              |    2 -\n t/t5515/fetch.master_branches-one                  |    2 -\n t/t5515/fetch.master_config-explicit               |    2 -\n t/t5515/fetch.master_config-glob                   |    2 -\n t/t5515/fetch.master_remote-explicit               |    2 -\n t/t5515/fetch.master_remote-glob                   |    2 -\n 55 files changed, 39 insertions(+), 108 deletions(-)\n\ndiff --git a/builtin-fetch.c b/builtin-fetch.c\nindex 18f123e..6a36c02 100644\n--- a/builtin-fetch.c\n+++ b/builtin-fetch.c\n@@ -8,6 +8,9 @@\n #include \"path-list.h\"\n #include \"remote.h\"\n #include \"transport.h\"\n+#include \"diff.h\"\n+#include \"list-objects.h\"\n+#include \"revision.h\"\n \n static const char fetch_usage[] = \"git-fetch [-a | --append] [--upload-pack <upload-pack>] [-f | --force] [--no-tags] [-t | --tags] [-k | --keep] [-u | --update-head-ok] [--depth <depth>] [-v | --verbose] [<repository> <refspec>...]\";\n \n@@ -335,14 +338,46 @@ static void store_updated_refs(const char *url, struct ref *ref_map)\n \tfclose(fp);\n }\n \n+static void mark_just_fetched_commit(struct commit *commit)\n+{\n+}\n+\n+static void mark_just_fetched_object(struct object_array_entry *p)\n+{\n+\tif (p->item->type == OBJ_BLOB && !has_sha1_file(p->item->sha1))\n+\t\tdie(\"missing blob object '%s'\", sha1_to_hex(p->item->sha1));\n+}\n+\n static int fetch_refs(struct transport *transport, struct ref *ref_map)\n {\n \tint ret;\n \n \tfree_all_objects();\n \tret = transport_fetch_refs(transport, ref_map);\n-\tif (!ret)\n+\tif (!ret) {\n+\t\tconst char *args[] = { \"rev-list\", \"--objects\", \"--not\", \"--all\", NULL};\n+\t\tstruct rev_info revs;\n+\t\tstruct ref *ref;\n+\n+\t\tfree_all_objects();\n+\t\tinit_revisions(&revs, NULL);\n+\t\tsetup_revisions(ARRAY_SIZE(args) - 1, args, &revs, NULL);\n+\t\tsave_commit_buffer = 0;\n+\t\ttrack_object_refs = 0;\n+\n+\t\tfor (ref = ref_map; ref; ref = ref->next) {\n+\t\t\tstruct object *o = parse_object(ref->old_sha1);\n+\t\t\tif (o)\n+\t\t\t\tadd_pending_object(&revs, o, \"(just-fetched)\");\n+\t\t}\n+\n+\t\tprepare_revision_walk(&revs);\n+\t\tmark_edges_uninteresting(revs.commits, &revs, NULL);\n+\t\ttraverse_commit_list(&revs,\n+\t\t\tmark_just_fetched_commit,\n+\t\t\tmark_just_fetched_object);\n \t\tstore_updated_refs(transport->url, ref_map);\n+\t}\n \ttransport_unlock_pack(transport);\n \treturn ret;\n }\n@@ -368,6 +403,7 @@ static struct ref *find_non_local_tags(struct transport *transport,\n \tstruct ref *ref_map = NULL;\n \tstruct ref **tail = &ref_map;\n \tconst struct ref *ref;\n+\tstruct object *obj;\n \n \tfor_each_ref(add_existing, &existing_refs);\n \tfor (ref = transport_get_remote_refs(transport); ref; ref = ref->next) {\n@@ -392,7 +428,8 @@ static struct ref *find_non_local_tags(struct transport *transport,\n \n \t\tif (!path_list_has_path(&existing_refs, ref_name) &&\n \t\t    !path_list_has_path(&new_refs, ref_name) &&\n-\t\t    lookup_object(ref->old_sha1)) {\n+\t\t    (obj = lookup_object(ref->old_sha1)) &&\n+\t\t    obj->flags & SEEN) {\n \t\t\tpath_list_insert(ref_name, &new_refs);\n \n \t\t\trm = alloc_ref(strlen(ref_name) + 1);\ndiff --git a/t/t5515/fetch.br-branches-default b/t/t5515/fetch.br-branches-default\nindex 2e0414f..174ea02 100644\n--- a/t/t5515/fetch.br-branches-default\n+++ b/t/t5515/fetch.br-branches-default\n@@ -2,7 +2,5 @@\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\t\tbranch 'master' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-branches-default-merge b/t/t5515/fetch.br-branches-default-merge\nindex ca2cc1d..e410d55 100644\n--- a/t/t5515/fetch.br-branches-default-merge\n+++ b/t/t5515/fetch.br-branches-default-merge\n@@ -3,7 +3,5 @@\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\t\tbranch 'three' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-branches-default-merge_branches-default b/t/t5515/fetch.br-branches-default-merge_branches-default\nindex 7d947cd..f0f8230 100644\n--- a/t/t5515/fetch.br-branches-default-merge_branches-default\n+++ b/t/t5515/fetch.br-branches-default-merge_branches-default\n@@ -3,7 +3,5 @@\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\t\tbranch 'three' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-branches-default-octopus b/t/t5515/fetch.br-branches-default-octopus\nindex ec39c54..f497ee3 100644\n--- a/t/t5515/fetch.br-branches-default-octopus\n+++ b/t/t5515/fetch.br-branches-default-octopus\n@@ -4,7 +4,5 @@\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\t\tbranch 'two' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-branches-default-octopus_branches-default b/t/t5515/fetch.br-branches-default-octopus_branches-default\nindex 6bf42e2..a1694aa 100644\n--- a/t/t5515/fetch.br-branches-default-octopus_branches-default\n+++ b/t/t5515/fetch.br-branches-default-octopus_branches-default\n@@ -4,7 +4,5 @@\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\t\tbranch 'two' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-branches-default_branches-default b/t/t5515/fetch.br-branches-default_branches-default\nindex 4a2bf3c..eef9635 100644\n--- a/t/t5515/fetch.br-branches-default_branches-default\n+++ b/t/t5515/fetch.br-branches-default_branches-default\n@@ -2,7 +2,5 @@\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\t\tbranch 'master' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-branches-one b/t/t5515/fetch.br-branches-one\nindex 12ac8d2..629e0cf 100644\n--- a/t/t5515/fetch.br-branches-one\n+++ b/t/t5515/fetch.br-branches-one\n@@ -2,7 +2,5 @@\n 8e32a6d901327a23ef831511badce7bf3bf46689\t\tbranch 'one' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-branches-one-merge b/t/t5515/fetch.br-branches-one-merge\nindex b4b3b35..62176a4 100644\n--- a/t/t5515/fetch.br-branches-one-merge\n+++ b/t/t5515/fetch.br-branches-one-merge\n@@ -3,7 +3,5 @@\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\t\tbranch 'three' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-branches-one-merge_branches-one b/t/t5515/fetch.br-branches-one-merge_branches-one\nindex 2ecef38..13935fd 100644\n--- a/t/t5515/fetch.br-branches-one-merge_branches-one\n+++ b/t/t5515/fetch.br-branches-one-merge_branches-one\n@@ -3,7 +3,5 @@\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\t\tbranch 'three' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-branches-one-octopus b/t/t5515/fetch.br-branches-one-octopus\nindex 96e3029..b42ab60 100644\n--- a/t/t5515/fetch.br-branches-one-octopus\n+++ b/t/t5515/fetch.br-branches-one-octopus\n@@ -3,7 +3,5 @@\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\t\tbranch 'two' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-branches-one-octopus_branches-one b/t/t5515/fetch.br-branches-one-octopus_branches-one\nindex 55e0bad..c9868c0 100644\n--- a/t/t5515/fetch.br-branches-one-octopus_branches-one\n+++ b/t/t5515/fetch.br-branches-one-octopus_branches-one\n@@ -3,7 +3,5 @@\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\t\tbranch 'two' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-branches-one_branches-one b/t/t5515/fetch.br-branches-one_branches-one\nindex 281fa09..2592e3c 100644\n--- a/t/t5515/fetch.br-branches-one_branches-one\n+++ b/t/t5515/fetch.br-branches-one_branches-one\n@@ -2,7 +2,5 @@\n 8e32a6d901327a23ef831511badce7bf3bf46689\t\tbranch 'one' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-config-explicit b/t/t5515/fetch.br-config-explicit\nindex e2fa9c8..a9a6573 100644\n--- a/t/t5515/fetch.br-config-explicit\n+++ b/t/t5515/fetch.br-config-explicit\n@@ -5,7 +5,5 @@\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\tbranch 'three' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-config-explicit-merge b/t/t5515/fetch.br-config-explicit-merge\nindex ec1a723..5aa1a75 100644\n--- a/t/t5515/fetch.br-config-explicit-merge\n+++ b/t/t5515/fetch.br-config-explicit-merge\n@@ -5,7 +5,5 @@\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\t\tbranch 'three' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-config-explicit-merge_config-explicit b/t/t5515/fetch.br-config-explicit-merge_config-explicit\nindex 54f6891..a3de0a3 100644\n--- a/t/t5515/fetch.br-config-explicit-merge_config-explicit\n+++ b/t/t5515/fetch.br-config-explicit-merge_config-explicit\n@@ -5,7 +5,5 @@\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\t\tbranch 'three' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-config-explicit-octopus b/t/t5515/fetch.br-config-explicit-octopus\nindex 7011dfc..612aac9 100644\n--- a/t/t5515/fetch.br-config-explicit-octopus\n+++ b/t/t5515/fetch.br-config-explicit-octopus\n@@ -5,7 +5,5 @@\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\tbranch 'three' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-config-explicit-octopus_config-explicit b/t/t5515/fetch.br-config-explicit-octopus_config-explicit\nindex bdad51f..a098d56 100644\n--- a/t/t5515/fetch.br-config-explicit-octopus_config-explicit\n+++ b/t/t5515/fetch.br-config-explicit-octopus_config-explicit\n@@ -5,7 +5,5 @@\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\tbranch 'three' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-config-explicit_config-explicit b/t/t5515/fetch.br-config-explicit_config-explicit\nindex 1b237dd..a744172 100644\n--- a/t/t5515/fetch.br-config-explicit_config-explicit\n+++ b/t/t5515/fetch.br-config-explicit_config-explicit\n@@ -5,7 +5,5 @@\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\tbranch 'three' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-config-glob b/t/t5515/fetch.br-config-glob\nindex e75ec2f..d042adc 100644\n--- a/t/t5515/fetch.br-config-glob\n+++ b/t/t5515/fetch.br-config-glob\n@@ -5,7 +5,5 @@\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\tbranch 'two' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-config-glob-merge b/t/t5515/fetch.br-config-glob-merge\nindex ce8f739..86f7f5f 100644\n--- a/t/t5515/fetch.br-config-glob-merge\n+++ b/t/t5515/fetch.br-config-glob-merge\n@@ -5,7 +5,5 @@\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\tbranch 'two' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-config-glob-merge_config-glob b/t/t5515/fetch.br-config-glob-merge_config-glob\nindex 5817bed..88c095f 100644\n--- a/t/t5515/fetch.br-config-glob-merge_config-glob\n+++ b/t/t5515/fetch.br-config-glob-merge_config-glob\n@@ -5,7 +5,5 @@\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\tbranch 'two' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-config-glob-octopus b/t/t5515/fetch.br-config-glob-octopus\nindex 938e532..5a63ac9 100644\n--- a/t/t5515/fetch.br-config-glob-octopus\n+++ b/t/t5515/fetch.br-config-glob-octopus\n@@ -5,7 +5,5 @@\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\t\tbranch 'two' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-config-glob-octopus_config-glob b/t/t5515/fetch.br-config-glob-octopus_config-glob\nindex c9225bf..4de6fc8 100644\n--- a/t/t5515/fetch.br-config-glob-octopus_config-glob\n+++ b/t/t5515/fetch.br-config-glob-octopus_config-glob\n@@ -5,7 +5,5 @@\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\t\tbranch 'two' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-config-glob_config-glob b/t/t5515/fetch.br-config-glob_config-glob\nindex a6c20f9..c6a1ac7 100644\n--- a/t/t5515/fetch.br-config-glob_config-glob\n+++ b/t/t5515/fetch.br-config-glob_config-glob\n@@ -5,7 +5,5 @@\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\tbranch 'two' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-remote-explicit b/t/t5515/fetch.br-remote-explicit\nindex 83534d2..439c473 100644\n--- a/t/t5515/fetch.br-remote-explicit\n+++ b/t/t5515/fetch.br-remote-explicit\n@@ -5,7 +5,5 @@\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\tbranch 'three' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-remote-explicit-merge b/t/t5515/fetch.br-remote-explicit-merge\nindex a9064dd..338431c 100644\n--- a/t/t5515/fetch.br-remote-explicit-merge\n+++ b/t/t5515/fetch.br-remote-explicit-merge\n@@ -5,7 +5,5 @@\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\t\tbranch 'three' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-remote-explicit-merge_remote-explicit b/t/t5515/fetch.br-remote-explicit-merge_remote-explicit\nindex 732a37e..db75bb1 100644\n--- a/t/t5515/fetch.br-remote-explicit-merge_remote-explicit\n+++ b/t/t5515/fetch.br-remote-explicit-merge_remote-explicit\n@@ -5,7 +5,5 @@\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\t\tbranch 'three' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-remote-explicit-octopus b/t/t5515/fetch.br-remote-explicit-octopus\nindex ecf020d..c265c43 100644\n--- a/t/t5515/fetch.br-remote-explicit-octopus\n+++ b/t/t5515/fetch.br-remote-explicit-octopus\n@@ -5,7 +5,5 @@\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\tbranch 'three' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-remote-explicit-octopus_remote-explicit b/t/t5515/fetch.br-remote-explicit-octopus_remote-explicit\nindex af77531..ff0072b 100644\n--- a/t/t5515/fetch.br-remote-explicit-octopus_remote-explicit\n+++ b/t/t5515/fetch.br-remote-explicit-octopus_remote-explicit\n@@ -5,7 +5,5 @@\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\tbranch 'three' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-remote-explicit_remote-explicit b/t/t5515/fetch.br-remote-explicit_remote-explicit\nindex 51fae56..a0a1480 100644\n--- a/t/t5515/fetch.br-remote-explicit_remote-explicit\n+++ b/t/t5515/fetch.br-remote-explicit_remote-explicit\n@@ -5,7 +5,5 @@\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\tbranch 'three' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-remote-glob b/t/t5515/fetch.br-remote-glob\nindex 94e6ad3..db59afb 100644\n--- a/t/t5515/fetch.br-remote-glob\n+++ b/t/t5515/fetch.br-remote-glob\n@@ -5,7 +5,5 @@\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\tbranch 'two' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-remote-glob-merge b/t/t5515/fetch.br-remote-glob-merge\nindex 09362e2..9a1edd0 100644\n--- a/t/t5515/fetch.br-remote-glob-merge\n+++ b/t/t5515/fetch.br-remote-glob-merge\n@@ -5,7 +5,5 @@\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\tbranch 'two' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-remote-glob-merge_remote-glob b/t/t5515/fetch.br-remote-glob-merge_remote-glob\nindex e2eabec..569890c 100644\n--- a/t/t5515/fetch.br-remote-glob-merge_remote-glob\n+++ b/t/t5515/fetch.br-remote-glob-merge_remote-glob\n@@ -5,7 +5,5 @@\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\tbranch 'two' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-remote-glob-octopus b/t/t5515/fetch.br-remote-glob-octopus\nindex b08e046..1d1db0e 100644\n--- a/t/t5515/fetch.br-remote-glob-octopus\n+++ b/t/t5515/fetch.br-remote-glob-octopus\n@@ -5,7 +5,5 @@\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\t\tbranch 'two' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-remote-glob-octopus_remote-glob b/t/t5515/fetch.br-remote-glob-octopus_remote-glob\nindex d4d547c..1649d5f 100644\n--- a/t/t5515/fetch.br-remote-glob-octopus_remote-glob\n+++ b/t/t5515/fetch.br-remote-glob-octopus_remote-glob\n@@ -5,7 +5,5 @@\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\t\tbranch 'two' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-remote-glob_remote-glob b/t/t5515/fetch.br-remote-glob_remote-glob\nindex 646dbc8..5769be6 100644\n--- a/t/t5515/fetch.br-remote-glob_remote-glob\n+++ b/t/t5515/fetch.br-remote-glob_remote-glob\n@@ -5,7 +5,5 @@\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\tbranch 'two' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-unconfig b/t/t5515/fetch.br-unconfig\nindex 65ce6d9..ce9e098 100644\n--- a/t/t5515/fetch.br-unconfig\n+++ b/t/t5515/fetch.br-unconfig\n@@ -5,7 +5,5 @@\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\tbranch 'two' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-unconfig_.._.git_one_tag_tag-one_tag_tag-three-file b/t/t5515/fetch.br-unconfig_.._.git_one_tag_tag-one_tag_tag-three-file\nindex f02bab2..409b033 100644\n--- a/t/t5515/fetch.br-unconfig_.._.git_one_tag_tag-one_tag_tag-three-file\n+++ b/t/t5515/fetch.br-unconfig_.._.git_one_tag_tag-one_tag_tag-three-file\n@@ -3,6 +3,5 @@\n 8e32a6d901327a23ef831511badce7bf3bf46689\t\ttag 'tag-one' of ../\n 0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-unconfig_.._.git_tag_tag-one_tag_tag-three b/t/t5515/fetch.br-unconfig_.._.git_tag_tag-one_tag_tag-three\nindex 0da2337..b535401 100644\n--- a/t/t5515/fetch.br-unconfig_.._.git_tag_tag-one_tag_tag-three\n+++ b/t/t5515/fetch.br-unconfig_.._.git_tag_tag-one_tag_tag-three\n@@ -2,6 +2,4 @@\n 8e32a6d901327a23ef831511badce7bf3bf46689\t\ttag 'tag-one' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\t\ttag 'tag-three' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-unconfig_branches-default b/t/t5515/fetch.br-unconfig_branches-default\nindex fc7041e..5787d50 100644\n--- a/t/t5515/fetch.br-unconfig_branches-default\n+++ b/t/t5515/fetch.br-unconfig_branches-default\n@@ -2,7 +2,5 @@\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\t\tbranch 'master' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-unconfig_branches-one b/t/t5515/fetch.br-unconfig_branches-one\nindex e94cde7..7a98d64 100644\n--- a/t/t5515/fetch.br-unconfig_branches-one\n+++ b/t/t5515/fetch.br-unconfig_branches-one\n@@ -2,7 +2,5 @@\n 8e32a6d901327a23ef831511badce7bf3bf46689\t\tbranch 'one' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-unconfig_config-explicit b/t/t5515/fetch.br-unconfig_config-explicit\nindex 01a283e..f618d4e 100644\n--- a/t/t5515/fetch.br-unconfig_config-explicit\n+++ b/t/t5515/fetch.br-unconfig_config-explicit\n@@ -5,7 +5,5 @@\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\tbranch 'three' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-unconfig_config-glob b/t/t5515/fetch.br-unconfig_config-glob\nindex 3a556c5..e47b27a 100644\n--- a/t/t5515/fetch.br-unconfig_config-glob\n+++ b/t/t5515/fetch.br-unconfig_config-glob\n@@ -5,7 +5,5 @@\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\tbranch 'two' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-unconfig_remote-explicit b/t/t5515/fetch.br-unconfig_remote-explicit\nindex db216df..b2fe473 100644\n--- a/t/t5515/fetch.br-unconfig_remote-explicit\n+++ b/t/t5515/fetch.br-unconfig_remote-explicit\n@@ -5,7 +5,5 @@\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\tbranch 'three' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.br-unconfig_remote-glob b/t/t5515/fetch.br-unconfig_remote-glob\nindex aee65c2..83ef090 100644\n--- a/t/t5515/fetch.br-unconfig_remote-glob\n+++ b/t/t5515/fetch.br-unconfig_remote-glob\n@@ -5,7 +5,5 @@\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\tbranch 'two' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.master b/t/t5515/fetch.master\nindex 950fd07..671945c 100644\n--- a/t/t5515/fetch.master\n+++ b/t/t5515/fetch.master\n@@ -5,7 +5,5 @@\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\tbranch 'two' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.master_.._.git_one_tag_tag-one_tag_tag-three-file b/t/t5515/fetch.master_.._.git_one_tag_tag-one_tag_tag-three-file\nindex 8286852..67f9314 100644\n--- a/t/t5515/fetch.master_.._.git_one_tag_tag-one_tag_tag-three-file\n+++ b/t/t5515/fetch.master_.._.git_one_tag_tag-one_tag_tag-three-file\n@@ -3,6 +3,5 @@\n 8e32a6d901327a23ef831511badce7bf3bf46689\t\ttag 'tag-one' of ../\n 0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.master_.._.git_tag_tag-one_tag_tag-three b/t/t5515/fetch.master_.._.git_tag_tag-one_tag_tag-three\nindex 92b18b4..ee914a3 100644\n--- a/t/t5515/fetch.master_.._.git_tag_tag-one_tag_tag-three\n+++ b/t/t5515/fetch.master_.._.git_tag_tag-one_tag_tag-three\n@@ -2,6 +2,4 @@\n 8e32a6d901327a23ef831511badce7bf3bf46689\t\ttag 'tag-one' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\t\ttag 'tag-three' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.master_branches-default b/t/t5515/fetch.master_branches-default\nindex 603d6d2..a40bb5a 100644\n--- a/t/t5515/fetch.master_branches-default\n+++ b/t/t5515/fetch.master_branches-default\n@@ -2,7 +2,5 @@\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\t\tbranch 'master' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.master_branches-one b/t/t5515/fetch.master_branches-one\nindex fe9bb0b..3f8bdbc 100644\n--- a/t/t5515/fetch.master_branches-one\n+++ b/t/t5515/fetch.master_branches-one\n@@ -2,7 +2,5 @@\n 8e32a6d901327a23ef831511badce7bf3bf46689\t\tbranch 'one' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.master_config-explicit b/t/t5515/fetch.master_config-explicit\nindex 4be97c7..451750b 100644\n--- a/t/t5515/fetch.master_config-explicit\n+++ b/t/t5515/fetch.master_config-explicit\n@@ -5,7 +5,5 @@\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\tbranch 'three' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.master_config-glob b/t/t5515/fetch.master_config-glob\nindex cb0726f..4fde761 100644\n--- a/t/t5515/fetch.master_config-glob\n+++ b/t/t5515/fetch.master_config-glob\n@@ -5,7 +5,5 @@\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\tbranch 'two' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.master_remote-explicit b/t/t5515/fetch.master_remote-explicit\nindex 44a1ca8..e5305b9 100644\n--- a/t/t5515/fetch.master_remote-explicit\n+++ b/t/t5515/fetch.master_remote-explicit\n@@ -5,7 +5,5 @@\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\tbranch 'three' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\ndiff --git a/t/t5515/fetch.master_remote-glob b/t/t5515/fetch.master_remote-glob\nindex 724e8db..a96ce5f 100644\n--- a/t/t5515/fetch.master_remote-glob\n+++ b/t/t5515/fetch.master_remote-glob\n@@ -5,7 +5,5 @@\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\tbranch 'two' of ../\n 754b754407bf032e9a2f9d5a9ad05ca79a6b228f\tnot-for-merge\ttag 'tag-master' of ../\n 8e32a6d901327a23ef831511badce7bf3bf46689\tnot-for-merge\ttag 'tag-one' of ../\n-22feea448b023a2d864ef94b013735af34d238ba\tnot-for-merge\ttag 'tag-one-tree' of ../\n 0567da4d5edd2ff4bb292a465ba9e64dcad9536b\tnot-for-merge\ttag 'tag-three' of ../\n-0e3b14047d3ee365f4f2a1b673db059c3972589c\tnot-for-merge\ttag 'tag-three-file' of ../\n 6134ee8f857693b96ff1cc98d3e2fd62b199e5a8\tnot-for-merge\ttag 'tag-two' of ../\n-- \n1.5.3.5.1622.g41d10\n"},{"id":"59030","messageId":"4734445C.6000303@viscovery.net","threadId":"10756","inReplyTo":"20071109110631.GG19368@spearce.org","subject":"Re: [PATCH 07/11] git-fetch: Limit automated tag following to only fetched objects","fromName":"Johannes Sixt","fromEmail":"j.sixt@viscovery.net","sentAt":"2007-11-09T11:28:28Z","receivedAt":"2007-11-09T11:28:28Z","isPatch":true,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"Shawn O. Pearce schrieb:\n> Some of the test vectors for t5515 were affected by this as they\n> were listing \"not-for-merge\" tags in .git/FETCH_HEAD that were\n> being fetched under the old rule but are now not fetched under the\n> new rule.  To be perfectly honest I have no idea why they were even\n> fetching under the old rule, and I think that's part of the problem\n> with the old rule.  It was very difficult to understand why some\n> things would auto-follow a tag and others wouldn't.\n\nThe old rule was:\n\n\tFetch a tag if we have the object that the tag refers to.\n\nSo, If you have an object lingering in your repo, even if it is not \naccessible by any of the refs - eg. it's a left-over from a previous fetch - \nthen the tag was fetched again.\n\n-- Hannes\n"},{"id":"59196","messageId":"20071109121228.GA4241@prefect.vdbonline.net","threadId":"10756","inReplyTo":"20071109110631.GG19368@spearce.org","subject":"Re: [PATCH 07/11] git-fetch: Limit automated tag following to only fetched objects","fromName":"CJ van den Berg","fromEmail":"cj@vdbonline.com","sentAt":"2007-11-09T12:12:28Z","receivedAt":"2007-11-09T12:12:28Z","isPatch":true,"sender":{"key":"cj@vdbonline.com","avatar":"https://gravatar.com/avatar/cb86d32484d54ed858459f2d284018b85fae4b802d457a85c3ed60448c63f1e5?d=mp&s=160"},"body":"On Fri, Nov 09, 2007 at 06:06:31AM -0500, Shawn O. Pearce wrote:\n> We now redefine the rule to be: \"tags are fetched if they refer\n> to an object that was just transferred; that is an object that is\n> new to your repository\".  This rule is quite simple to understand,\n> you only get a tag if you just got the object it refers to.\n\nWith this new rule a retrospectively pushed tag will never be fetched,\nright? With our local work flow tags are only ever pushed retrospectively\nbecause the tagged commit has to first pass regression tests. So this would\nbe a major regression for us.\n\nI think adding a temporal dependency between the pushing and fetching of\nbranches and tags in this way is likely to cause even more confusing and\napparently random behaviour. \n\n-- \nCJ van den Berg\n\nmailto:cj@vdbonline.com\n  xmpp:cj@vdbonline.com\n"},{"id":"59129","messageId":"7v7ikrrr77.fsf@gitster.siamese.dyndns.org","threadId":"10756","inReplyTo":"20071109110631.GG19368@spearce.org","subject":"Re: [PATCH 07/11] git-fetch: Limit automated tag following to only fetched objects","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2007-11-09T22:26:20Z","receivedAt":"2007-11-09T22:26:20Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Shawn O. Pearce\" <spearce@spearce.org> writes:\n\n> We now redefine the rule to be: \"tags are fetched if they refer\n> to an object that was just transferred; that is an object that is\n> new to your repository\".  This rule is quite simple to understand,\n> you only get a tag if you just got the object it refers to.\n\nIn other words, if I do this:\n\n\tgit fetch git-gui master\n\n(which should not follow any tags) when your master is a bit\nahead of a new tag in git-gui I do not have, and then\nimmediately afterwards if I do:\n\n\tgit fetch git-gui\n\nI will not get the new tag followed?\n\nIf that is what the patch does, it feels like a regression.\n\nThe intended behaviour was \"when tag following is enabled, they\nare followed if they refer to an object that is reachable from\nyour existing refs\".\n\nBut this is quite expensive to compute.  If a tag points at a\nblob that is contained inside a commit that is reachable from a\nref, we would need to grep \"git rev-list --objects -all\" output\nto find it out.  I do not offhand recall what the scripted\nversion did, but I would not be surprised if as an approximation\nwe did the auto-following by \"does the pointee exist\" check.\n\nWhat \"random behaviour\" are you trying to fix? \n"},{"id":"59216","messageId":"4735BBC3.5040207@op5.se","threadId":"10756","inReplyTo":"20071109121228.GA4241@prefect.vdbonline.net","subject":"Re: [PATCH 07/11] git-fetch: Limit automated tag following to only fetched objects","fromName":"Andreas Ericsson","fromEmail":"ae@op5.se","sentAt":"2007-11-10T14:10:11Z","receivedAt":"2007-11-10T14:10:11Z","isPatch":true,"sender":{"key":"ae@op5.se","avatar":"https://gravatar.com/avatar/426e89595c75a8f5252dd0c989e5fabe5bcac616e68557427ad9aef6b0ca342a?d=mp&s=160"},"body":"CJ van den Berg wrote:\n> On Fri, Nov 09, 2007 at 06:06:31AM -0500, Shawn O. Pearce wrote:\n>> We now redefine the rule to be: \"tags are fetched if they refer\n>> to an object that was just transferred; that is an object that is\n>> new to your repository\".  This rule is quite simple to understand,\n>> you only get a tag if you just got the object it refers to.\n> \n> With this new rule a retrospectively pushed tag will never be fetched,\n> right? With our local work flow tags are only ever pushed retrospectively\n> because the tagged commit has to first pass regression tests. So this would\n> be a major regression for us.\n> \n\nSame for us. Deciding after something has been pushed that \"ok, this version\nworks, let's make that one the release\" is, I think, fairly common behaviour.\n\n-- \nAndreas Ericsson                   andreas.ericsson@op5.se\nOP5 AB                             www.op5.se\nTel: +46 8-230225                  Fax: +46 8-230231\n"},{"id":"59269","messageId":"20071111054951.GV14735@spearce.org","threadId":"10756","inReplyTo":"7v7ikrrr77.fsf@gitster.siamese.dyndns.org","subject":"Re: [PATCH 07/11] git-fetch: Limit automated tag following to only fetched objects","fromName":"Shawn O. Pearce","fromEmail":"spearce@spearce.org","sentAt":"2007-11-11T05:49:51Z","receivedAt":"2007-11-11T05:49:51Z","isPatch":true,"sender":{"key":"spearce@spearce.org","avatar":"https://avatars.githubusercontent.com/u/34844?v=4"},"body":"Junio C Hamano <gitster@pobox.com> wrote:\n> \"Shawn O. Pearce\" <spearce@spearce.org> writes:\n> \n> > We now redefine the rule to be: \"tags are fetched if they refer\n> > to an object that was just transferred; that is an object that is\n> > new to your repository\".  This rule is quite simple to understand,\n> > you only get a tag if you just got the object it refers to.\n> \n> In other words, if I do this:\n> \n> \tgit fetch git-gui master\n> \n> (which should not follow any tags) when your master is a bit\n> ahead of a new tag in git-gui I do not have, and then\n> immediately afterwards if I do:\n> \n> \tgit fetch git-gui\n> \n> I will not get the new tag followed?\n> \n> If that is what the patch does, it feels like a regression.\n\nYeah, that's what it does, and everyone has stated its a regression\nso its not the right change to make here.\n \n> The intended behaviour was \"when tag following is enabled, they\n> are followed if they refer to an object that is reachable from\n> your existing refs\".\n> \n> But this is quite expensive to compute.  If a tag points at a\n> blob that is contained inside a commit that is reachable from a\n> ref, we would need to grep \"git rev-list --objects -all\" output\n> to find it out.  I do not offhand recall what the scripted\n> version did, but I would not be surprised if as an approximation\n> we did the auto-following by \"does the pointee exist\" check.\n\nWe just did `git cat-file -t`.  If it passed then we followed\nthe tag.  Which means we could just do a has_sha1_file() test and\ncall it a day.  If the object is already reachable from our current\nrefs we'll only download the tag; if it isn't really reachable but\nis dangling in the ODB we'll download possibly a lot of objects.\n\nI was trying to make tag auto-following only work if the tag's\ntarget was already completely available and we'd only need to\ndownload the tag object itself.\n \n> What \"random behaviour\" are you trying to fix? \n\nApparently I'm introducing even more random behavior.  It may have\njust been a bug in the past.  Or a tag whose referred object wasn't\nreachable from a ref but I thought it should have been.  Obviously\nmy patch series resolves neither.\n\n-- \nShawn.\n"}]}