Re: [PATCH v4] log,diff-tree: add --combined-all-names option
- Date: Thu, 7 Feb 2019 15:48:24 -0800
- From: Elijah Newren <newren@xxxxxxxxx>
- Subject: Re: [PATCH v4] log,diff-tree: add --combined-all-names option
On Thu, Feb 7, 2019 at 3:31 PM Junio C Hamano <gitster@xxxxxxxxx> wrote:
> Elijah Newren <newren@xxxxxxxxx> writes:
> > Now, the question: In addition to the two "from" headers, how many
> > "to" headers do we emit? In particular, do we emit both a "copied to
> > F" and a "renamed to F" header, or just a combined "renamed/copied to
> > F" header?
> There is only a single path that can be on the "to", as there is
> only one final result, but _how_ the contents got to that path would
> be different, so to be technically truly correct, you would end up
> showing N "to" lines for a N-way merge, each of which gives the same
> path in the postimage, but some may say renamed, another may say
> copioed and some others may need to say in-place edited.
> That would increase the number of necessary lines from N (from) + 1
> (to) to N*2 (N for each of from and to), which makes it even less
> And showing a single "renamed/copied" feels more like a cop-out to
> avoid being techincally incorrect, than giving a useful piece of
> information to the users.
> I am inclined to say that we should do _without_ any "to" line. And
Works for me.
> if we can do without any "to", perhaps we do not need "from", either.
I would be okay with that, but looking through a few of them, I think
the "from" lines do help a little, just because lengthy filenames are
not uncommon and it's easy to miss the fact that there is a rename,
often in some directory somewhere in the middle. A couple examples:
diff --combined packages/search/ete/src/test/resources/test-suite.yml
rename from packages/search/src/geb/resources/test-suite.yml
@@@ -1,15 -1,5 +1,5 @@@
diff --combined packages/search/ete/var/conf/app/public/searchApp.yml
rename from packages/search/ete/var/conf/app/public/searchApp
rename from packages/search/var/conf/app/public/searchApp.yml
If there's no renames or copies, then I don't add anything to the
combined diff. With renames or copies, people can get the "to" name
from looking at the "+++ b/" line.
But not a real big deal, I could just omit this if you prefer.