Re: [PATCH 4/5] Add --remote option to send-pack
- From
Junio C Hamano <junkio@cox.net>
- Date
- May 3, 2007, 06:13 UTC
- Message-ID
- <7vejly305u.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <Pine.LNX.4.64.0705030137520.28708@iabervon.org>
Daniel Barkalow <barkalow@iabervon.org> writes:
> Indeed. Is there documentation on all the possibilities for refspecs > somewhere all together? I could only find it for particular programs, and > didn't see a no-colon option permitted anywhere.
Documentation/pull-fetch-param.txt which is included by various manpages would be the best place to start.
<refspec>::
The canonical format of a <refspec> parameter is
`+?<src>:<dst>`; that is, an optional plus `+`, followed
by the source ref, followed by a colon `:`, followed by
the destination ref.
+
The remote ref that matches <src>
is fetched, and if <dst> is not empty string, the local
ref that matches it is fast forwarded using <src>.
Again, if the optional plus `+` is used, the local ref
is updated even if it does not result in a fast forward
update.Hmph. So <dst> could be empty, and in such a case there is no tracking. But this does not say missing colon is allowed (but that was intentionally left out as we clarify it later). Let's read on. After a few [Notes], we find this.
Some short-cut notations are also supported.
+
* `tag <tag>` means the same as `refs/tags/<tag>:refs/tags/<tag>`;
it requests fetching everything up to the given tag.
* A parameter <ref> without a colon is equivalent to
<ref>: when pulling/fetching, so it merges <ref> into the current
branch without storing the remote branch anywhere locallyAhh, so a refspec that does not have a colon, and ends with a colon (hence an empty <dst>) are equivalent, and does not result in remote tracking.