From: Jeff Hostetler Date: Thu, 21 Dec 2017 14:06:28 GMT Subject: Re: [PATCH 2/4] stat_tracking_info: return +1 when branch and upstream differ Message-ID: <1c4d5de6-566e-5b5f-7cfc-66b2874a7d63@jeffhostetler.com> In-Reply-To: <20171220161407.GB31149@sigill.intra.peff.net> On 12/20/2017 11:14 AM, Jeff King wrote: > 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. Good point. I usually try to avoid signature changes to minimize the disruption, but as you say that can be a good thing too. I'll add an argument rather than using the null field trick. > >> --- 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? Yeah, poor word choice on my part. I'll fix. Thanks Jeff