write_one_ref(): rewrite to take an object_id argument
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
f31ba7e116
commit
1700cb3b05
13
transport.c
13
transport.c
@ -278,8 +278,8 @@ static int fetch_objs_via_rsync(struct transport *transport,
|
|||||||
return run_command(&rsync);
|
return run_command(&rsync);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int write_one_ref(const char *name, const unsigned char *sha1,
|
static int write_one_ref(const char *name, const struct object_id *oid,
|
||||||
int flags, void *data)
|
int flags, void *data)
|
||||||
{
|
{
|
||||||
struct strbuf *buf = data;
|
struct strbuf *buf = data;
|
||||||
int len = buf->len;
|
int len = buf->len;
|
||||||
@ -291,7 +291,7 @@ static int write_one_ref(const char *name, const unsigned char *sha1,
|
|||||||
|
|
||||||
strbuf_addstr(buf, name);
|
strbuf_addstr(buf, name);
|
||||||
if (safe_create_leading_directories(buf->buf) ||
|
if (safe_create_leading_directories(buf->buf) ||
|
||||||
write_file(buf->buf, 0, "%s\n", sha1_to_hex(sha1)))
|
write_file(buf->buf, 0, "%s\n", oid_to_hex(oid)))
|
||||||
return error("problems writing temporary file %s: %s",
|
return error("problems writing temporary file %s: %s",
|
||||||
buf->buf, strerror(errno));
|
buf->buf, strerror(errno));
|
||||||
strbuf_setlen(buf, len);
|
strbuf_setlen(buf, len);
|
||||||
@ -310,7 +310,7 @@ static int write_refs_to_temp_dir(struct strbuf *temp_dir,
|
|||||||
if (dwim_ref(refspec[i], strlen(refspec[i]), oid.hash, &ref) != 1)
|
if (dwim_ref(refspec[i], strlen(refspec[i]), oid.hash, &ref) != 1)
|
||||||
return error("Could not get ref %s", refspec[i]);
|
return error("Could not get ref %s", refspec[i]);
|
||||||
|
|
||||||
if (write_one_ref(ref, oid.hash, 0, temp_dir)) {
|
if (write_one_ref(ref, &oid, 0, temp_dir)) {
|
||||||
free(ref);
|
free(ref);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -363,10 +363,7 @@ static int rsync_transport_push(struct transport *transport,
|
|||||||
strbuf_addch(&temp_dir, '/');
|
strbuf_addch(&temp_dir, '/');
|
||||||
|
|
||||||
if (flags & TRANSPORT_PUSH_ALL) {
|
if (flags & TRANSPORT_PUSH_ALL) {
|
||||||
struct each_ref_fn_sha1_adapter wrapped_write_one_ref =
|
if (for_each_ref(write_one_ref, &temp_dir))
|
||||||
{write_one_ref, &temp_dir};
|
|
||||||
|
|
||||||
if (for_each_ref(each_ref_fn_adapter, &wrapped_write_one_ref))
|
|
||||||
return -1;
|
return -1;
|
||||||
} else if (write_refs_to_temp_dir(&temp_dir, refspec_nr, refspec))
|
} else if (write_refs_to_temp_dir(&temp_dir, refspec_nr, refspec))
|
||||||
return -1;
|
return -1;
|
||||||
|
Loading…
Reference in New Issue
Block a user