Skip to content

Commit

Permalink
builtin-remote: make get_remote_ref_states() always populate states.t…
Browse files Browse the repository at this point in the history
…racked

When not querying the remote, show() was having to populate
states.tracked itself. It makes more sense for get_remote_ref_states()
to do this consistently. Since show() is the only caller of
get_remote_ref_states() with query=0, this change does not affect
other callers.

Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Jay Soffian authored and Junio C Hamano committed Feb 27, 2009
1 parent e0cc81e commit cca7c97
Showing 1 changed file with 16 additions and 17 deletions.
33 changes: 16 additions & 17 deletions builtin-remote.c
Original file line number Diff line number Diff line change
Expand Up @@ -632,6 +632,20 @@ static void free_remote_ref_states(struct ref_states *states)
string_list_clear(&states->tracked, 0);
}

static int append_ref_to_tracked_list(const char *refname,
const unsigned char *sha1, int flags, void *cb_data)
{
struct ref_states *states = cb_data;
struct refspec refspec;

memset(&refspec, 0, sizeof(refspec));
refspec.dst = (char *)refname;
if (!remote_find_tracking(states->remote, &refspec))
string_list_append(abbrev_branch(refspec.src), &states->tracked);

return 0;
}

static int get_remote_ref_states(const char *name,
struct ref_states *states,
int query)
Expand All @@ -652,21 +666,8 @@ static int get_remote_ref_states(const char *name,
transport_disconnect(transport);

get_ref_states(remote_refs, states);
}

return 0;
}

static int append_ref_to_tracked_list(const char *refname,
const unsigned char *sha1, int flags, void *cb_data)
{
struct ref_states *states = cb_data;
struct refspec refspec;

memset(&refspec, 0, sizeof(refspec));
refspec.dst = (char *)refname;
if (!remote_find_tracking(states->remote, &refspec))
string_list_append(abbrev_branch(refspec.src), &states->tracked);
} else
for_each_ref(append_ref_to_tracked_list, states);

return 0;
}
Expand Down Expand Up @@ -720,8 +721,6 @@ static int show(int argc, const char **argv)
"prune')", &states.stale, "");
}

if (no_query)
for_each_ref(append_ref_to_tracked_list, &states);
show_list(" Tracked remote branch%s", &states.tracked, "");

if (states.remote->push_refspec_nr) {
Expand Down

0 comments on commit cca7c97

Please sign in to comment.