Re: [PATCH] Resurrect diff-tree-helper -R
- From
Petr Baudis <pasky@ucw.cz>
- Date
- May 14, 2005, 15:02 UTC
- Message-ID
- <20050514150200.GJ3905@pasky.ji.cz>
- In-Reply-To
- <7vmzqy7k47.fsf@assigned-by-dhcp.cox.net>
Dear diary, on Sat, May 14, 2005 at 01:59:36AM CEST, I got a letter where Junio C Hamano <junkio@cox.net> told me that...
Show 15 quoted lines
> >>>>> "PB" == Petr Baudis <pasky@ucw.cz> writes: > > PB> Dear diary, on Sat, May 14, 2005 at 12:59:31AM CEST, I got a letter > PB> where Junio C Hamano <junkio@cox.net> told me that... > >> Created: t/t2000-diff.sh (mode:100755) > >> +Mode changed: path0 (100644->100755) > > PB> Great, so it's even worse than before. :/ > > Depends on the definition of "before". At the beginning, we did > not do anything special and always said l/foo k/foo even when > create/delete was involved. Then we did a misguided attempt to > minimally be cg-diff compatible, which Linus complained that it > was too distracting for human consumption. The current one is > something in between, a lot more human side.
By "before" I meant the Linus proposal I was originally replying too. It seems I'm still missing part of the history. :-)
Show 5 quoted lines
> You have seen what the current "something in between" does. > What I think is that in order not to distract human (read: > Linus) who reads patches, they should not share the same special > characters like "@". Which unfortunately completely contradicts > what you are attempting to do.
I don't think it discards humans, actually. I'd rather say it makes them aware that this is something special. And if you show it only when the mode changes, it will always be a special thing, not only something which clutters the view.
So I'd say it's better for humans too, since it is clear for them that this is not part of the commit message, and it carries special meaning for the tool they will feed it to.
> Another thing we did while you were looking other way ;-) was that we > say mode changed only when things change, so in that sense it is > "inconsistent" from the scripting point of view.
I have no issue with that.
Show 10 quoted lines
> I do not think nobody uses that current textual "comment"
> information in automated tools (I do not), so changing them
> should not be a problem. How about we do something like this:
>
> 1. Invent an environment variable you can define. Let's say
> GIT_DIFF_SHOW_MODES. It could alternatively a flag you
> pass from git-diff-{files,cache,tree,tree-helper} to the
> internal diff engine but then you need to add the necessary
> command line parameter for all these commands. I can be
> persuaded in either way.I think this completely misses the point. You are viewing what I'm suggesting as trying to just aid Cogito's internals using cg-diff | cg-patch, but that's actually not my major reason for doing this at all. I view that as a hack anyway and it should eventually do a three-way merge too at those places.
What I'm trying to do is to figure out a good encapsulation for mode changes which can be put in *all* the patches. So when you are sending me some new testcases, I don't have to chmod them manually. That's the main point of doing this. I could deal with mode changes completely separately if it was only about Cogito's internal stuff.
> BTW, what do you think about renaming git-diff-tree-helper to > just git-diff-helper? It used to be for grokking diff-tree's > output but now the family have the same raw output format it > does not make much sense to keep "tree" in its name.
No issue with that.
-- Petr "Pasky" Baudis Stuff: http://pasky.or.cz/ C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor