Jeff Hostetler wrote: > --- a/ref-filter.c > +++ b/ref-filter.c > @@ -1239,7 +1239,7 @@ static void fill_remote_ref_details(struct used_atom *atom, const char *refname, > *s = show_ref(&atom->u.remote_ref.refname, refname); > else if (atom->u.remote_ref.option == RR_TRACK) { > if (stat_tracking_info(branch, &num_ours, > - &num_theirs, NULL)) { > + &num_theirs, NULL, ABF_FULL) < 0) { What does ABF stand for? It made me think of airport codes. Would a name like AHEADBEHIND_FULL work? [...] > --- a/remote.c > +++ b/remote.c > @@ -1977,16 +1977,22 @@ int ref_newer(const struct object_id *new_oid, const struct object_id *old_oid) > } > > /* > - * Compare a branch with its upstream, and save their differences (number > - * of commits) in *num_ours and *num_theirs. The name of the upstream branch > - * (or NULL if no upstream is defined) is returned via *upstream_name, if it > - * is not itself NULL. > + * Compare a branch with its upstream and report on their differences. > + * If abf is ABF_FULL, save their differences (number of commits) in > + * *num_ours and *num_theirs. > + * If abf is ABF_QUICK, skip the (possibly expensive) ahead/behind Please format these comments as paragraphs, with a consistent line-width and a "blank" (space-star-newline) line between paragraphs. That makes them much easier to read. [...] > @@ -2019,6 +2025,8 @@ int stat_tracking_info(struct branch *branch, int *num_ours, int *num_theirs, > *num_theirs = *num_ours = 0; > return 0; > } > + if (abf == ABF_QUICK) > + return 1; nit: I think this is missing a blank line before the 'if'. Thanks and hope that helps, Jonathan