X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=sha1_name.c;h=3e856b80369c289a3d9399d60ec3be22bbbc6788;hb=1f238da57334ca0155ae7560b173eefc8c4c157a;hp=7b7e61719fa63e41917b41240061c68e3cbabf01;hpb=d42cb5804f9c52b88b6dfe709a659e31394ea2ae;p=git.git diff --git a/sha1_name.c b/sha1_name.c index 7b7e61719..3e856b803 100644 --- a/sha1_name.c +++ b/sha1_name.c @@ -1062,12 +1062,14 @@ int get_sha1_with_context_1(const char *name, unsigned char *sha1, /* sha1:path --> object name of path in ent sha1 * :path -> object name of path in index * :[0-3]:path -> object name of path in index at stage + * :/foo -> recent commit matching foo */ if (name[0] == ':') { int stage = 0; struct cache_entry *ce; int pos; if (namelen > 2 && name[1] == '/') + /* don't need mode for commit */ return get_sha1_oneline(name + 2, sha1); if (namelen < 3 || name[2] != ':' || @@ -1095,6 +1097,7 @@ int get_sha1_with_context_1(const char *name, unsigned char *sha1, break; if (ce_stage(ce) == stage) { hashcpy(sha1, ce->sha1); + oc->mode = ce->ce_mode; return 0; } pos++;