summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2009-12-01 12:26:45 -0800
committerLibravatar Junio C Hamano <gitster@pobox.com>2009-12-01 12:26:45 -0800
commit4a2775974ae47b69768b6bf5c5c75539409bb289 (patch)
tree2b63d98779d136bbcefed8b666e5228bea6a5c30
parentMerge branch 'jn/gitweb-blame' (diff)
parentget_ref_states: strdup entries and free util in stale list (diff)
downloadtgif-4a2775974ae47b69768b6bf5c5c75539409bb289.tar.xz
Merge branch 'bw/remote-get-ref-states-fix'
* bw/remote-get-ref-states-fix: get_ref_states: strdup entries and free util in stale list
-rw-r--r--builtin-remote.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/builtin-remote.c b/builtin-remote.c
index 7916626218..a5019397ff 100644
--- a/builtin-remote.c
+++ b/builtin-remote.c
@@ -272,7 +272,9 @@ static int get_ref_states(const struct ref *remote_refs, struct ref_states *stat
die("Could not get fetch map for refspec %s",
states->remote->fetch_refspec[i]);
- states->new.strdup_strings = states->tracked.strdup_strings = 1;
+ states->new.strdup_strings = 1;
+ states->tracked.strdup_strings = 1;
+ states->stale.strdup_strings = 1;
for (ref = fetch_map; ref; ref = ref->next) {
unsigned char sha1[20];
if (!ref->peer_ref || read_ref(ref->peer_ref->name, sha1))
@@ -768,7 +770,7 @@ static void clear_push_info(void *util, const char *string)
static void free_remote_ref_states(struct ref_states *states)
{
string_list_clear(&states->new, 0);
- string_list_clear(&states->stale, 0);
+ string_list_clear(&states->stale, 1);
string_list_clear(&states->tracked, 0);
string_list_clear(&states->heads, 0);
string_list_clear_func(&states->push, clear_push_info);