mirror of
https://github.com/git/git.git
synced 2024-11-06 09:13:01 +01:00
Merge branch 'fixes'
This commit is contained in:
commit
d53174dbae
2 changed files with 16 additions and 7 deletions
21
sha1_name.c
21
sha1_name.c
|
@ -91,14 +91,23 @@ static int find_short_packed_object(int len, const unsigned char *match, unsigne
|
|||
last = mid;
|
||||
}
|
||||
if (first < num) {
|
||||
unsigned char now[20];
|
||||
unsigned char now[20], next[20];
|
||||
nth_packed_object_sha1(p, first, now);
|
||||
if (match_sha(len, match, now)) {
|
||||
if (!found) {
|
||||
memcpy(found_sha1, now, 20);
|
||||
found++;
|
||||
if (nth_packed_object_sha1(p, first+1, next) ||
|
||||
!match_sha(len, match, next)) {
|
||||
/* unique within this pack */
|
||||
if (!found) {
|
||||
memcpy(found_sha1, now, 20);
|
||||
found++;
|
||||
}
|
||||
else if (memcmp(found_sha1, now, 20)) {
|
||||
found = 2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (memcmp(found_sha1, now, 20)) {
|
||||
else {
|
||||
/* not even unique within this pack */
|
||||
found = 2;
|
||||
break;
|
||||
}
|
||||
|
@ -121,7 +130,7 @@ static int find_unique_short_object(int len, char *canonical,
|
|||
if (!has_unpacked && !has_packed)
|
||||
return -1;
|
||||
if (1 < has_unpacked || 1 < has_packed)
|
||||
return -1;
|
||||
return error("short SHA1 %.*s is ambiguous.", len, canonical);
|
||||
if (has_unpacked != has_packed) {
|
||||
memcpy(sha1, (has_packed ? packed_sha1 : unpacked_sha1), 20);
|
||||
return 0;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
static const char git_symbolic_ref_usage[] =
|
||||
"git-symbolic-ref name [ref]";
|
||||
|
||||
static int check_symref(const char *HEAD)
|
||||
static void check_symref(const char *HEAD)
|
||||
{
|
||||
unsigned char sha1[20];
|
||||
const char *git_HEAD = strdup(git_path("%s", HEAD));
|
||||
|
|
Loading…
Reference in a new issue