diff-tree: show hex sha1 of the single-commit argument case correctly.
We can't just do the "sha1_to_hex()" thing directly, since the buffer in question will be overwritten by the name of the parent. So teach diff_tree_commit() to generate the proper hex name itself.
This commit is contained in:
parent
0a8365a179
commit
73848892ad
@ -356,6 +356,12 @@ static int diff_tree_commit(const unsigned char *commit, const char *name)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!name) {
|
||||||
|
static char commit_name[60];
|
||||||
|
strcpy(commit_name, sha1_to_hex(commit));
|
||||||
|
name = commit_name;
|
||||||
|
}
|
||||||
|
|
||||||
offset = 46;
|
offset = 46;
|
||||||
while (offset + 48 < size && !memcmp(buf + offset, "parent ", 7)) {
|
while (offset + 48 < size && !memcmp(buf + offset, "parent ", 7)) {
|
||||||
unsigned char parent[20];
|
unsigned char parent[20];
|
||||||
@ -472,7 +478,7 @@ int main(int argc, char **argv)
|
|||||||
usage(diff_tree_usage);
|
usage(diff_tree_usage);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
diff_tree_commit(sha1[0], sha1_to_hex(sha1[0]));
|
diff_tree_commit(sha1[0], NULL);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
diff_tree_sha1(sha1[0], sha1[1], "");
|
diff_tree_sha1(sha1[0], sha1[1], "");
|
||||||
|
Loading…
Reference in New Issue
Block a user