From: Sergey Organov <sorganov@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: Johannes Sixt <j6t@kdbg.org>, Jeff King <peff@peff.net>,
Paul Mackerras <paulus@ozlabs.org>,
Git Mailing List <git@vger.kernel.org>
Subject: Re: diff-index --cc no longer permitted, gitk is now broken (slightly)
Date: Wed, 08 Sep 2021 16:43:24 +0300 [thread overview]
Message-ID: <87pmtjkwsj.fsf@osv.gnss.ru> (raw)
In-Reply-To: <xmqqy288b64q.fsf@gitster.g> (Junio C. Hamano's message of "Tue, 07 Sep 2021 11:19:33 -0700")
Junio C Hamano <gitster@pobox.com> writes:
> Sergey Organov <sorganov@gmail.com> writes:
>
>> Here is a patch that fixes diff-index to accept --cc again:
>
> Sorry for the delay; I did not notice there was a patch buried in a
> discussion thread.
>
> We might later need to do this suppression in more codepaths if we
> find more regressions, but let's have one fix at a time.
I'm pretty positive there should be nothing left. This commit was
diff-index specific, and doesn't affect anything else. Nowhere in entire
series the semantics of --cc itself has been changed, it has been only
disabled as particular option in diff-index command-line parsing.
Overall, this is pretty local change.
>
> Will queue.
>
>> builtin/diff-index.c | 6 +++---
>> diff-merges.c | 14 ++++----------
>> diff-merges.h | 2 +-
>
> This would deserve new tests that cover the existing use cases,
> given that both of us (and other reviewers in the original thread)
> did not notice how big a regression we are causing.
I don't see it as a "big regression", but no wonder the breakage was
entirely unexpected, see below.
>
> We care about --cc naturally falling back to -p when there is only
> one other thing to compare with, and also we care about --cc that
> allows us to compare during conflict resolution, at least, I think.
The problem here is not with -c/--cc itself, it is rather with
diff-index. It's neither documented nor tested nor obvious what -c/--cc
should mean in diff-index, given -c/--cc description (e.g., in "git help
log"):
-c
With this option, diff output for a merge commit shows the
differences [...]
How an option to deal with merge commits is applicable to diff-index,
that:
git-diff-index - Compare a tree to the working tree or index
???
Besides, nobody yet told us why gitk uses --cc option in invocation of
'diff-index' in the first place. Does it actually *rely* on particular
undocumented behavior of "diff-index --cc", or is it just a copy-paste
*leftover*?
Overall, the original commit had a mistake, as the commit that was meant
to be pure refactoring had changed observable behavior, even if
undocumented. However, the essence of the commit, disabling of "diff for
merge /commits/" options in diff-index that does not deal with /commits/,
could still be the right thing to do long term.
Thanks,
-- Sergey Organov
next prev parent reply other threads:[~2021-09-08 13:43 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-30 8:03 diff-index --cc no longer permitted, gitk is now broken (slightly) Johannes Sixt
2021-08-30 13:05 ` Sergey Organov
2021-08-30 18:13 ` Jeff King
2021-08-30 20:01 ` Sergey Organov
2021-08-30 20:26 ` Johannes Sixt
2021-08-30 20:45 ` Sergey Organov
2021-08-30 17:12 ` Junio C Hamano
2021-08-30 17:40 ` Sergey Organov
2021-08-30 18:09 ` Junio C Hamano
2021-08-30 20:03 ` Sergey Organov
2021-09-01 16:52 ` Sergey Organov
2021-09-07 18:19 ` Junio C Hamano
2021-09-07 19:53 ` Sergey Organov
2021-09-08 13:43 ` Sergey Organov [this message]
2021-09-08 17:23 ` Johannes Sixt
2021-09-08 19:04 ` Sergey Organov
2021-09-09 17:07 ` Junio C Hamano
2021-09-09 20:07 ` Sergey Organov
2021-09-16 9:50 ` Sergey Organov
2021-09-16 21:15 ` Junio C Hamano
2021-09-16 22:41 ` Sergey Organov
2021-09-16 22:50 ` Junio C Hamano
2021-09-17 7:08 ` Sergey Organov
2021-09-17 16:32 ` Junio C Hamano
2021-09-17 18:41 ` Sergey Organov
2021-09-17 16:58 ` Philip Oakley
2021-09-17 17:34 ` Sergey Organov
2021-09-18 17:56 ` Sergey Organov
2021-09-07 20:32 ` Johannes Sixt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87pmtjkwsj.fsf@osv.gnss.ru \
--to=sorganov@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=j6t@kdbg.org \
--cc=paulus@ozlabs.org \
--cc=peff@peff.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.