Re: [PATCH] diff: Fix rename pretty-print when suffix and prefix overlap
- From
Thomas Rast <trast@student.ethz.ch>
- Date
- Feb 28, 2013, 22:14 UTC
- Message-ID
- <874ngw2ii0.fsf@pctrast.inf.ethz.ch>
- In-Reply-To
- <1362088540-14564-1-git-send-email-apelisse@gmail.com>
Antoine Pelisse <apelisse@gmail.com> writes:
Show 16 quoted lines
> diff --git a/diff.c b/diff.c
> index 9038f19..e1d82c9 100644
> --- a/diff.c
> +++ b/diff.c
> @@ -1177,7 +1177,16 @@ static char *pprint_rename(const char *a, const char *b)
> - while (a <= old && b <= new && *old == *new) {
> + /*
> + * Note:
> + * if pfx_length is 0, old/new will never reach a - 1 because it
> + * would mean the whole string is common suffix. But then, the
> + * whole string would also be a common prefix, and we would not
> + * have pfx_length equals 0.
> + */
> + while (a + pfx_length - 1 <= old &&
> + b + pfx_length - 1 <= new &&
> + *old == *new) {Umm, you still have the broken version here, and the previous patch is already in next. I think you should decide for one thing ;-)
Either: consider this a reroll; Junio would have to revert the version already in next (which isn't _so_ bad, because next will eventually be rebuilt) and apply this new version. But if you do that, you should squash my change that deals with the underrun issue (I'd be fine with that).
Or: consider it an incremental improvement on the series, in which case you should send only the tests with a new commit message.
--
Thomas Rast
trast@{inf,student}.ethz.ch