Here's version 3 of the more aggressive tag following for git-fetch. 1) Remove unused variable in builtin-fetch find_non_local_tags 2) Remove unnecessary delaying of free_refs(ref_map) in builtin-fetch 3) Ensure tail pointer gets setup correctly when we fetch HEAD only 4) Allow builtin-fetch's find_non_local_tags to append onto a list 5) Free the path_lists used to find non-local tags in git-fetch 6) Teach upload-pack to log the received need lines to an fd 7) Make git-fetch follow tags we already have objects for sooner 8) Teach git-fetch to grab a tag at the same time as a commit builtin-fetch.c | 49 +++++++++++++------ t/t5503-tagfollow.sh | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++ upload-pack.c | 9 ++++ 3 files changed, 166 insertions(+), 16 deletions(-) Changes since the last (v2) round: "Free the path_lists used to find non-local tags in git-fetch" This patch was added to the series to avoid memory corruption errors that were only showing up on Linux. My earlier testing only on Mac OS X failed to show any symptoms of the corruption. Junio noticed it on Linux and asked me to revisit the series. "Teach upload-pack to log the received need lines to an fd" At Daniel's suggestion the GIT_DEBUG_SEND_PACK environment variable takes the value of the fd we log onto. This mirrors how GIT_TRACE works. -- Shawn. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html