fetch-pack: fix object_id of exact sha1
Commit 58f2ed0 (remote-curl: pass ref SHA-1 to fetch-pack as well,
2013-12-05) added support for specifying a SHA-1 as well as a ref name.
Add support for specifying just a SHA-1 and set the ref name to the same
value in this case.
Signed-off-by: Gabriel Souza Franco <gabrielfrancosouza@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
f02fbc4f94
commit
4a8d202c4e
@ -16,10 +16,20 @@ static void add_sought_entry(struct ref ***sought, int *nr, int *alloc,
|
||||
struct ref *ref;
|
||||
struct object_id oid;
|
||||
|
||||
if (!get_oid_hex(name, &oid) && name[GIT_SHA1_HEXSZ] == ' ')
|
||||
name += GIT_SHA1_HEXSZ + 1;
|
||||
else
|
||||
if (!get_oid_hex(name, &oid)) {
|
||||
if (name[GIT_SHA1_HEXSZ] == ' ') {
|
||||
/* <sha1> <ref>, find refname */
|
||||
name += GIT_SHA1_HEXSZ + 1;
|
||||
} else if (name[GIT_SHA1_HEXSZ] == '\0') {
|
||||
; /* <sha1>, leave sha1 as name */
|
||||
} else {
|
||||
/* <ref>, clear cruft from oid */
|
||||
oidclr(&oid);
|
||||
}
|
||||
} else {
|
||||
/* <ref>, clear cruft from get_oid_hex */
|
||||
oidclr(&oid);
|
||||
}
|
||||
|
||||
ref = alloc_ref(name);
|
||||
oidcpy(&ref->old_oid, &oid);
|
||||
|
||||
Reference in New Issue
Block a user