On Wed, Dec 20, 2017 at 02:42:43PM +0000, Jeff Hostetler wrote: > Extend stat_tracking_info() to return 1 when the branch is > not up to date with its upstream branch and only return 0 > when they are equal. This means that callers all need to be updated, but there's no change that the compiler could catch. You've updated all of the calls here, but any topics in flight would need to be fixed, too. I don't see any any in pu, but there are a number of long-running forks hanging around these days. Is it worth introducing a small change so that any other callers which get merged in force a human to look at them? I'm wondering if we could just re-order the "upstream_name" argument or something. > --- a/remote.c > +++ b/remote.c > @@ -1983,7 +1983,9 @@ int ref_newer(const struct object_id *new_oid, const struct object_id *old_oid) > * is not itself NULL. > * > * Returns -1 if num_ours and num_theirs could not be filled in (e.g., no > - * upstream defined, or ref does not exist), 0 otherwise. > + * upstream defined, or ref does not exist). > + * Returns 0 if the commits are the same (the branch is up to date). > + * Returns 1 if the commits are different (the branch is not up to date). Slightly pedantic, but we'd return 1 here also if the branch is ahead of its upstream, right? -Peff