diff options
author | Shawn O. Pearce <spearce@spearce.org> | 2007-05-26 01:25:11 -0400 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2007-05-26 20:28:08 -0700 |
commit | 693d2bc625e7168299741d673e7205e9d2c969df (patch) | |
tree | fe9417cd44b38f1dce1ec98cafde335b9ba8e1ca /sha1_name.c | |
parent | 7dc24aa5a62cc5f77e6637674581c837f4bdf78e (diff) | |
download | git-693d2bc625e7168299741d673e7205e9d2c969df.tar.gz |
Attempt to delay prepare_alt_odb during get_sha1
Not every input value passed to get_sha1 is an abbreviated SHA-1.
Its actually quite common for refs to be passed and for those
refs to resolve to full SHA-1s, in which case we may not need to
initialize the alternate object database list in this process.
I'm relocating the call to prepare_alt_odb closer to the code
that actually needs it to maintain the fix first introduced by
Junio in 99a19b43 (to avoid ambiguous SHA-1 abbreviations from
being accepted). This allows us to avoid the alt_odb list setup
if we won't actually need it.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'sha1_name.c')
-rw-r--r-- | sha1_name.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sha1_name.c b/sha1_name.c index 55f25a2d3b..8dfceb2d7f 100644 --- a/sha1_name.c +++ b/sha1_name.c @@ -133,6 +133,7 @@ static int find_unique_short_object(int len, char *canonical, int has_unpacked, has_packed; unsigned char unpacked_sha1[20], packed_sha1[20]; + prepare_alt_odb(); has_unpacked = find_short_object_filename(len, canonical, unpacked_sha1); has_packed = find_short_packed_object(len, res, packed_sha1); if (!has_unpacked && !has_packed) @@ -654,7 +655,6 @@ int get_sha1_with_mode(const char *name, unsigned char *sha1, unsigned *mode) const char *cp; *mode = S_IFINVALID; - prepare_alt_odb(); ret = get_sha1_1(name, namelen, sha1); if (!ret) return ret; |