Web lists-archives.com

Re: js/difftool-no-index, was Re: What's cooking in git.git (May 2019, #02; Tue, 14)




Hi Junio,

On Sun, 19 May 2019, Junio C Hamano wrote:

> Johannes Schindelin <Johannes.Schindelin@xxxxxx> writes:
>
> > On Wed, 15 May 2019, Junio C Hamano wrote:
> >
> >> Johannes Schindelin <Johannes.Schindelin@xxxxxx> writes:
> >>
> >> I was imagining what would happen if we treat _everything_ in the two
> >> directories being compared by "difftool --dir-diff --no-index" as if it
> >> is tracked.
> >
> > Isn't this exactly what `git difftool --no-index` *without* `--dir-diff`
> > does already (although without copying or hardlinking or symlinking any
> > files)?
>
> If that is the case, then I would imagine that running that command
> for the user, instead of refusing to work, would give a more
> pleasant end-user experience.  No?

The elephant in the room is that a user might think that --dir-diff makes
copies (as promised) and lets their difftool clobber them files happily,
only to find out that they clobbered the original files. And since they
asked for `--no-index`, chances are that those files really are not
tracked, so now they do not even have a way to revert that clobbering.

Seriously, I'd rather not DWIM `--no-index --dir-diff` to essentially do
`--no-index --no-dir-diff`.

Ciao,
Dscho

> Unless we anticipate that we might dwim incorrectly and mistake a
> request to compare two things, to which the distinction between
> tracked and untracked matters, as a request to compare two
> directories that are not under Git control, that is.  If such an
> incorrect dwim were a possibility, then it is helpful to refuse with
> "when comparing two non-git-controlled directories, you cannot use
> the '--dir-diff' mode", as that would not silently give an incorrect
> output to the users.
>
> In any case, all of the above can be left for future improvements.
> Getting close to the final, I think it is preferrable to have a
> "refuse to stop early" (i.e. the patch that is already in 'next')
> instead of "do what the user meant" whose implementation may become
> more involved (and error prone).
>
> Thanks.
>
>