mirror of
https://github.com/git/git.git
synced 2024-05-09 14:56:07 +02:00
describe: allow more than one revs to be named.
The main loop was prepared to take more than one revs, but the actual naming logic wad not (it used pop_most_recent_commit while forgetting that the commit marks stay after it's done). Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
78c2cff61f
commit
f8f9c73c7d
13
commit.c
13
commit.c
|
@ -352,6 +352,19 @@ struct commit *pop_most_recent_commit(struct commit_list **list,
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void clear_commit_marks(struct commit *commit, unsigned int mark)
|
||||||
|
{
|
||||||
|
struct commit_list *parents;
|
||||||
|
|
||||||
|
parents = commit->parents;
|
||||||
|
commit->object.flags &= ~mark;
|
||||||
|
while (parents) {
|
||||||
|
if (parents->item && parents->item->object.parsed)
|
||||||
|
clear_commit_marks(parents->item, mark);
|
||||||
|
parents = parents->next;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Generic support for pretty-printing the header
|
* Generic support for pretty-printing the header
|
||||||
*/
|
*/
|
||||||
|
|
2
commit.h
2
commit.h
|
@ -58,6 +58,8 @@ struct commit *pop_most_recent_commit(struct commit_list **list,
|
||||||
|
|
||||||
struct commit *pop_commit(struct commit_list **stack);
|
struct commit *pop_commit(struct commit_list **stack);
|
||||||
|
|
||||||
|
void clear_commit_marks(struct commit *commit, unsigned int mark);
|
||||||
|
|
||||||
int count_parents(struct commit * commit);
|
int count_parents(struct commit * commit);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -124,9 +124,10 @@ static void describe(struct commit *cmit)
|
||||||
if (n) {
|
if (n) {
|
||||||
printf("%s-g%s\n", n->path,
|
printf("%s-g%s\n", n->path,
|
||||||
find_unique_abbrev(cmit->object.sha1, abbrev));
|
find_unique_abbrev(cmit->object.sha1, abbrev));
|
||||||
return;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
clear_commit_marks(cmit, SEEN);
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
|
|
Loading…
Reference in New Issue