Re: --diff-filter=T does not list x changes
- From
- Anders Melchiorsen <anders@kalibalik.dk>
- Date
- Oct 17, 2008, 19:33 UTC
- Message-ID
- <87wsg7m2xp.fsf@kalibalik.dk>
- In-Reply-To
- <7v1vyfoca2.fsf@gitster.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
Show 6 quoted lines
> Anders Melchiorsen <mail@cup.kalibalik.dk> writes: > >> I hope you agree that this reading is not obvious from the >> documentation,... > > Yup, didn't I already say that the documentation is buggy?
Possibly, though not in this thread.
Show 9 quoted lines
>> How about adding a diff-filter=X for the executable bit? > > I do not think it is a good idea for two reasons. Backward > compatibility and sane design. > > For one thing, "diff --name-status" never shows X, so you would > introduce an unnecessary inconsistency. If you change > "--name-status" to avoid that, you would be breaking people's > existing scripts that expect to see "M" for such a change.
(I noticed that X is already used in diff-filter, but will keep it for this discussion)
I was thinking that X could be a subset of M. So only if you specifically ask for diff-filter=X (and not M) would you get this new functionality. That should keep it compatible. It would then pick files that have had their x flipped, regardless of their change in content. With diff-filter=M, it would work as it does today.
If name-status output must be consistent, it could even output M for these changes. That would still be unambiguous (but probably confusing).
...
As you say that this is an unnecessary inconsistency, I wonder whether you have a different way to pick out the commits that toggle the x bit? That is a problem that I am facing, with no solution shown so far ...
Anders.