diff options
author | Felipe Contreras <felipe.contreras@gmail.com> | 2020-11-26 01:16:16 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-11-30 22:57:55 +0100 |
commit | 374fbaef3df8f05acf9968fc38c6da72a62bcfc2 (patch) | |
tree | 13cca8b260b1ddeee0d3901a452a784cc13aa7be /refspec.c | |
parent | tests: push: trivial cleanup (diff) | |
download | git-374fbaef3df8f05acf9968fc38c6da72a62bcfc2.tar.xz git-374fbaef3df8f05acf9968fc38c6da72a62bcfc2.zip |
refspec: make @ a synonym of HEAD
Since commit 9ba89f484e git learned how to push to a remote branch using
the source @, for example:
git push origin @:master
However, if the right-hand side is missing, the push fails:
git push origin @
It is obvious what is the desired behavior, and allowing the push makes
things more consistent.
Additionally, @:master now has the same semantics as HEAD:master.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'refspec.c')
-rw-r--r-- | refspec.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -71,7 +71,10 @@ static int parse_refspec(struct refspec_item *item, const char *refspec, int fet } item->pattern = is_glob; - item->src = xstrndup(lhs, llen); + if (llen == 1 && *lhs == '@') + item->src = xstrdup("HEAD"); + else + item->src = xstrndup(lhs, llen); flags = REFNAME_ALLOW_ONELEVEL | (is_glob ? REFNAME_REFSPEC_PATTERN : 0); if (item->negative) { |