summaryrefslogtreecommitdiff
path: root/refs.c
diff options
context:
space:
mode:
authorFelipe Contreras <felipe.contreras@gmail.com>2013-09-02 06:34:30 (GMT)
committerJunio C Hamano <gitster@pobox.com>2013-09-12 21:39:34 (GMT)
commit9ba89f484e023827eca6ad44baf69af37dac4db3 (patch)
tree412e36de2f9e033c1705bed8d21ed7aac3ad379f /refs.c
parentcf99a761d3903dbaf8265f60da9eaee6a15a6fe6 (diff)
downloadgit-9ba89f484e023827eca6ad44baf69af37dac4db3.zip
git-9ba89f484e023827eca6ad44baf69af37dac4db3.tar.gz
git-9ba89f484e023827eca6ad44baf69af37dac4db3.tar.bz2
Add new @ shortcut for HEAD
Typing 'HEAD' is tedious, especially when we can use '@' instead. The reason for choosing '@' is that it follows naturally from the ref@op syntax (e.g. HEAD@{u}), except we have no ref, and no operation, and when we don't have those, it makes sens to assume 'HEAD'. So now we can use 'git show @~1', and all that goody goodness. Until now '@' was a valid name, but it conflicts with this idea, so let's make it invalid. Probably very few people, if any, used this name. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'refs.c')
-rw-r--r--refs.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/refs.c b/refs.c
index 8fd5faf..bfe10e2 100644
--- a/refs.c
+++ b/refs.c
@@ -72,6 +72,10 @@ int check_refname_format(const char *refname, int flags)
{
int component_len, component_count = 0;
+ if (!strcmp(refname, "@"))
+ /* Refname is a single character '@'. */
+ return -1;
+
while (1) {
/* We are at the start of a path component. */
component_len = check_refname_component(refname, flags);