Clean-up output from "git show-branch" and document it.

When showing only one branch a lot of default output becomes redundant,
so clean it up a bit, and document what is shown.  Retire the earlier
implementation "git-show-branches-script".

Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Junio C Hamano
2005-08-22 23:16:46 -07:00
parent f76412ed6d
commit f5e375c9a9
6 changed files with 128 additions and 140 deletions

View File

@ -223,6 +223,7 @@ int main(int ac, char **av)
int head_path_len;
unsigned char head_sha1[20];
int merge_base = 0;
char **label;
while (1 < ac && av[1][0] == '-') {
char *arg = av[1];
@ -297,7 +298,8 @@ int main(int ac, char **av)
if (merge_base)
return show_merge_base(seen, num_rev);
if (1 < num_rev)
/* Show list */
if (1 < num_rev) {
for (i = 0; i < num_rev; i++) {
int j;
int is_head = rev_is_head(head_path,
@ -310,16 +312,28 @@ int main(int ac, char **av)
printf("%c [%s] ", is_head ? '*' : '!', ref_name[i]);
show_one_commit(rev[i], NULL);
}
for (i = 0; i < num_rev; i++)
putchar('-');
putchar('\n');
}
label = ref_name;
while (seen) {
struct commit *commit = pop_one_commit(&seen);
int this_flag = commit->object.flags;
static char *obvious[] = { "" };
if ((this_flag & UNINTERESTING) && (--extra < 0))
break;
for (i = 0; i < num_rev; i++)
putchar((this_flag & (1u << (i + REV_SHIFT)))
? '+' : ' ');
putchar(' ');
show_one_commit(commit, ref_name);
if (1 < num_rev) {
for (i = 0; i < num_rev; i++)
putchar((this_flag & (1u << (i + REV_SHIFT)))
? '+' : ' ');
putchar(' ');
}
show_one_commit(commit, label);
if (num_rev == 1)
label = obvious;
}
return 0;
}