Re: [PATCH 11/14] format-patch: extend --range-diff to accept revision range
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Sep 7, 2018, 09:15 UTC
- Message-ID
- <CAPig+cRfcJYux2Rfaq-2NhW-d9vD1J-Mg_NmjGMbrW2S0RWB4Q@mail.gmail.com>
- In-Reply-To
- <xmqqva93t4u7.fsf@gitster-ct.c.googlers.com>
On Wed, Jul 25, 2018 at 4:53 PM Junio C Hamano <gitster@pobox.com> wrote:
Show 19 quoted lines
> Eric Sunshine <sunshine@sunshineco.com> writes:
> > When submitting a revised a patch series, the --range-diff option embeds
> > a range-diff in the cover letter showing changes since the previous
> > version of the patch series. The argument to --range-diff is a simple
> > revision naming the tip of the previous series [...]
> >
> > However, it fails if the revision ranges of the old and new versions of
> > the series are disjoint. To address this shortcoming, extend
> > --range-diff to also accept an explicit revision range for the previous
> > series. [...]
>
> > static void infer_range_diff_ranges(struct strbuf *r1,
> > {
> > - strbuf_addf(r1, "%s..%s", head_oid, prev);
> > - strbuf_addf(r2, "%s..%s", prev, head_oid);
>
> I thought "git range-diff" also took the three-dot notation as a
> short-hand but there is no point using that in this application,
> which wants the RHS and the LHS range in separate output variables.Correct.
Show 22 quoted lines
> I actually would feel better to see the second range for the normal
> case to be computed exactly the same way, i.e.
>
> int prev_is_range = strstr(prev, "..");
>
> if (prev_is_range)
> strbuf_addstr(r1, prev);
> else
> strbuf_addf(r1, "%s..%s", head_oid, prev);
>
> if (origin)
> strbuf_addf(r2, "%s..%s", oid_to_hex(&origin->object.oid, head_oid);
> else if (prev_is_range)
> die("cannot figure out the origin of new series");
> else {
> warning("falling back to use '%s' as the origin of new series", prev);
> strbuf_addf(r2, "%s..%s", prev, head_oid);
> }
>
> because origin..HEAD is always the set of the "new" series, no
> matter what "prev" the user chooses to compare that series against,
> when there is a single "origin".I plan to submit a short series as incremental changes atop es/format-patch-{interdiff,rangediff} to address the few review comments[1] (including my own[2]), so I can make this change, as well.
[1]: https://public-inbox.org/git/CAPig+cSuYUYSPTuKx08wcmQM-G12_-W2T4BS07fA=6grM1b8Gw@mail.gmail.com/T/#rfaf5a563e81b862bd8ed69232040056ab9a86dd8 [2]: https://public-inbox.org/git/CAPig+cSuYUYSPTuKx08wcmQM-G12_-W2T4BS07fA=6grM1b8Gw@mail.gmail.com/