summaryrefslogtreecommitdiff
path: root/sha1_name.c
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-12-14 01:21:41 (GMT)
committerJunio C Hamano <junkio@cox.net>2005-12-20 02:32:44 (GMT)
commit47dd0d595d04ee5283dfd8a0b4cbd6e6de8ad57f (patch)
tree49a5c32f9fbcd84e328e6b285d8d1393271563e8 /sha1_name.c
parent1c15afb9343bca82e687d008ec983a9110ac9c40 (diff)
downloadgit-47dd0d595d04ee5283dfd8a0b4cbd6e6de8ad57f.zip
git-47dd0d595d04ee5283dfd8a0b4cbd6e6de8ad57f.tar.gz
git-47dd0d595d04ee5283dfd8a0b4cbd6e6de8ad57f.tar.bz2
diff: --abbrev option
When I show transcripts to explain how something works, I often find myself hand-editing the diff-raw output to shorten various object names in the output. This adds --abbrev option to the diff family, which shortens diff-raw output and diff-tree commit id headers. Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'sha1_name.c')
-rw-r--r--sha1_name.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sha1_name.c b/sha1_name.c
index 67b69a5..b13ed78 100644
--- a/sha1_name.c
+++ b/sha1_name.c
@@ -188,7 +188,10 @@ const char *find_unique_abbrev(const unsigned char *sha1, int len)
{
int status;
static char hex[41];
+
memcpy(hex, sha1_to_hex(sha1), 40);
+ if (len == 40)
+ return hex;
while (len < 40) {
unsigned char sha1_ret[20];
status = get_short_sha1(hex, len, sha1_ret, 1);