summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Haggerty <mhagger@alum.mit.edu>2012-01-17 06:50:34 +0100
committerJunio C Hamano <gitster@pobox.com>2012-01-17 11:55:04 -0800
commit39ef7fae9a398ad4523a211bc87aff599c3d3869 (patch)
treea7e974effd715ba2669a9c22be80a690b393d12b
parent30249ee68fa5fa63bfb9bb417987b0547253b8e7 (diff)
downloadgit-mh/ref-clone-without-extra-refs.tar.gz
write_remote_refs(): create packed (rather than extra) refsmh/ref-clone-without-extra-refs
write_remote_refs() creates new packed refs from references obtained from the remote repository, which is "out of thin air" as far as the local repository is concerned. Previously it did this by creating "extra" refs, then calling pack_refs() to bake them into the packed-refs file. Instead, create packed refs (in the packed reference cache) directly, then call pack_refs(). Aside from being more logical, this is another step towards removing extra refs entirely. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin/clone.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/builtin/clone.c b/builtin/clone.c
index 86db954730..9413537a8e 100644
--- a/builtin/clone.c
+++ b/builtin/clone.c
@@ -441,11 +441,10 @@ static void write_remote_refs(const struct ref *local_refs)
for (r = local_refs; r; r = r->next) {
if (!r->peer_ref)
continue;
- add_extra_ref(r->peer_ref->name, r->old_sha1, 0);
+ add_packed_ref(r->peer_ref->name, r->old_sha1);
}
pack_refs(PACK_REFS_ALL);
- clear_extra_refs();
}
static int write_one_config(const char *key, const char *value, void *data)