Re: [PATCH] git fetch one tag only
From: cheng renquan <hidden>
Date: 2016-06-15 22:54:00
On Wed, Jun 6, 2012 at 9:37 PM, Junio C Hamano [off-list ref] wrote:
On Wed, Jun 6, 2012 at 6:40 PM, cheng renquan [off-list ref] wrote:quoted
Someone maybe like me is working in the way of following one central git repository while sometimes need to fetch some code or tags from a 3rd git repo, but unfortunately the 3rd repo may contain a lot of tags not all I want to fetch to mess up my local repo, at this time I want to fetch only one tag from the 3rd repo, but the syntax of `git fetch 3rd-repo the-tag-name` really fetched the code of the-tag-name from 3rd-repo, but forgot the tag itself;The subject of "forgot" in that sentence is you, not "git fetch". You told "git fetch" to grab it but not store it locally in your refs/tags namespace. There is a convenience short-hand "tag <tagname>", i.e. git fetch 3rd-repo tag the-tag-name that is equivalent to git fetch 3rd-repo refs/tags/the-tag-name:refs/tags/the-tag-name So I do not think your patch is necessary for your use case, and obviously it will break other people's use case where they just want to fetch (and inspect what is left in FETCH_HEAD) but do not want to store.
No, I tried what you said but it doesn't work as expected: git fetch linux-stable tag v3.4.1 My [linus-git] is following torvalds' tree and now I want to fetch just one tag v3.4.1 from linux-stable tree, but the above command would fetch all tags from linux-stable linus-git git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git (fetch) linux-stable git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git (fetch) [linus-git] $ git fetch -v --dry-run linux-stable tag v3.4.1 |& head From git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable = [up to date] v3.4.1 -> v3.4.1 * [new tag] latest -> latest * [new tag] v2.6.12.1 -> v2.6.12.1 * [new tag] v2.6.12.2 -> v2.6.12.2 [...] I didn't know this syntax before, but Yes, this syntax should serve the one-tag-only goal better, `git fetch 3rd-repo tag the-tag-name` maybe I'd better to fix that?