Skip to content

Commit

Permalink
git-describe: default to HEAD
Browse files Browse the repository at this point in the history
This is based on the patch by Andreas Ericsson, but done slightly
differently, preferring to have separate loops -- one for options
and then arguments.

Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Junio C Hamano committed Jan 11, 2006
1 parent 0f76f52 commit 4c34a2c
Showing 1 changed file with 22 additions and 16 deletions.
38 changes: 22 additions & 16 deletions describe.c
Original file line number Diff line number Diff line change
Expand Up @@ -98,12 +98,20 @@ static int compare_names(const void *_a, const void *_b)
return (a_date > b_date) ? -1 : (a_date == b_date) ? 0 : 1;
}

static void describe(struct commit *cmit)
static void describe(char *arg)
{
unsigned char sha1[20];
struct commit *cmit;
struct commit_list *list;
static int initialized = 0;
struct commit_name *n;

if (get_sha1(arg, sha1) < 0)
usage(describe_usage);
cmit = lookup_commit_reference(sha1);
if (!cmit)
usage(describe_usage);

if (!initialized) {
initialized = 1;
for_each_ref(get_name);
Expand Down Expand Up @@ -136,29 +144,27 @@ int main(int argc, char **argv)

for (i = 1; i < argc; i++) {
const char *arg = argv[i];
unsigned char sha1[20];
struct commit *cmit;

if (!strcmp(arg, "--all")) {
if (*arg != '-')
break;
else if (!strcmp(arg, "--all"))
all = 1;
continue;
}
if (!strcmp(arg, "--tags")) {
else if (!strcmp(arg, "--tags"))
tags = 1;
continue;
}
if (!strncmp(arg, "--abbrev=", 9)) {
else if (!strncmp(arg, "--abbrev=", 9)) {
abbrev = strtoul(arg + 9, NULL, 10);
if (abbrev < 4 || 40 <= abbrev)
abbrev = DEFAULT_ABBREV;
continue;
}
if (get_sha1(arg, sha1) < 0)
usage(describe_usage);
cmit = lookup_commit_reference(sha1);
if (!cmit)
else
usage(describe_usage);
describe(cmit);
}

if (i == argc)
describe("HEAD");
else
while (i < argc)
describe(argv[i++]);

return 0;
}

0 comments on commit 4c34a2c

Please sign in to comment.