summaryrefslogtreecommitdiff
path: root/builtin-show-branch.c
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2007-01-26 06:14:45 (GMT)
committerJunio C Hamano <junkio@cox.net>2007-01-26 06:31:10 (GMT)
commitdf373ea99a1cf3056a72bad1d66f0e62f3b41c20 (patch)
tree5eba072864142736041b50ef3a088d965ca0f2b4 /builtin-show-branch.c
parenta9eefb3bfc66b7f5dba86ebf57b05e32c33eb9e5 (diff)
downloadgit-df373ea99a1cf3056a72bad1d66f0e62f3b41c20.zip
git-df373ea99a1cf3056a72bad1d66f0e62f3b41c20.tar.gz
git-df373ea99a1cf3056a72bad1d66f0e62f3b41c20.tar.bz2
show-branch -g: default to HEAD
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'builtin-show-branch.c')
-rw-r--r--builtin-show-branch.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/builtin-show-branch.c b/builtin-show-branch.c
index 536245e..fa62e48 100644
--- a/builtin-show-branch.c
+++ b/builtin-show-branch.c
@@ -662,13 +662,13 @@ int cmd_show_branch(int ac, const char **av, const char *prefix)
}
ac--; av++;
- if (!!extra || !!reflog) {
+ if (extra || reflog) {
/* "listing" mode is incompatible with
* independent nor merge-base modes.
*/
if (independent || merge_base)
usage(show_branch_usage);
- if (!!reflog && ((0 < extra) || all_heads || all_remotes))
+ if (reflog && ((0 < extra) || all_heads || all_remotes))
/*
* Asking for --more in reflog mode does not
* make sense. --list is Ok.
@@ -682,15 +682,22 @@ int cmd_show_branch(int ac, const char **av, const char *prefix)
if (ac + all_heads + all_remotes == 0)
all_heads = 1;
- if (all_heads + all_remotes)
- snarf_refs(all_heads, all_remotes);
if (reflog) {
unsigned char sha1[20];
char nth_desc[256];
char *ref;
int base = 0;
+
+ if (ac == 0) {
+ static const char *fake_av[2];
+ fake_av[0] = "HEAD";
+ fake_av[1] = NULL;
+ av = fake_av;
+ ac = 1;
+ }
if (ac != 1)
die("--reflog option needs one branch name");
+
if (MAX_REVS < reflog)
die("Only %d entries can be shown at one time.",
MAX_REVS);
@@ -735,6 +742,8 @@ int cmd_show_branch(int ac, const char **av, const char *prefix)
append_ref(nth_desc, sha1, 1);
}
}
+ else if (all_heads + all_remotes)
+ snarf_refs(all_heads, all_remotes);
else {
while (0 < ac) {
append_one_rev(*av);