Thread (2 messages) flat view 2 messages, 2 authors, 2016-06-15

Re: [PATCH] Resurrect diff-tree-helper -R

From: Petr Baudis <hidden>
Date: 2016-06-15 22:41:57

Dear diary, on Sat, May 14, 2005 at 01:59:36AM CEST, I got a letter
where Junio C Hamano [off-list ref] told me that...
quoted
quoted
quoted
quoted
quoted
"PB" == Petr Baudis [off-list ref] writes:
PB> Dear diary, on Sat, May 14, 2005 at 12:59:31AM CEST, I got a letter
PB> where Junio C Hamano [off-list ref] told me that...
quoted
quoted
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. :-)
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.
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help