X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=sha1_name.c;h=3e856b80369c289a3d9399d60ec3be22bbbc6788;hb=5c28a8b054cb69a37638b0261fc370422c8fab58;hp=7b7e61719fa63e41917b41240061c68e3cbabf01;hpb=2e1e96126f93653badaa0afd17204e417dfc8e7d;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++;