Subject: Re: [PATCH v3] Allow the user to change the temporary file name for mergetool

From: Robin Rosenberg <[email-masked]>
Date: Wed, 20 Aug 2014 09:24:27 +0200 (CEST)

----- Ursprungligt meddelande -----
> Från: "Junio C Hamano" <[email-masked]>
> Till: "Johannes Sixt" <[email-masked]>
> Kopia: "Robin Rosenberg" <[email-masked]>, [email-masked]
> Skickat: onsdag, 20 aug 2014 0:14:21
> Ämne: Re: [PATCH v3] Allow the user to change the temporary file name for mergetool
> 
> Johannes Sixt <[email-masked]> writes:
> 
> > Am 19.08.2014 19:15, schrieb Robin Rosenberg:
> >> Using the original filename suffix for the temporary input files to
> >> the merge tool confuses IDEs like Eclipse. This patch introduces
> >> a configurtion option, mergetool.tmpsuffix, which get appended to
> >> the temporary file name. That way the user can choose to use a
> >> suffix like ".tmp", which does not cause confusion.
> >
> > I have a merge tool that does syntax highlighting based on the file
> > extension. Given this:
> >
> >> +	BACKUP="./$MERGED.BACKUP.$ext$tmpsuffix"
> >> +	LOCAL="./$MERGED.LOCAL.$ext$tmpsuffix"
> >> +	REMOTE="./$MERGED.REMOTE.$ext$tmpsuffix"
> >> +	BASE="./$MERGED.BASE.$ext$tmpsuffix"
> >
> > I guess I lose syntax highlighting if I were to use mergetool.tmpsuffix;
> > but then I don't use Eclipse. Could it be that this is really just a
> > band-aid for Eclipse users, not IDEs in general as you are hinting in
> > the Documentation of the new variable?
> 
> The phrase "IDEs like Eclipse" in the proposed log message did not
> tell me (which I think is a good thing) if IDEs that need "band-aid"
> are majority or minority, but I agree that we should not hint that
> IDEs in general would benefit by setting this variable.  A warning
> on the syntax-aware editors may be necessary.

I'm not sure it's necessary since it is not a default. If you use the
setting you are probably well aware of why you use it, and the 
possible implications.

I have only had the problem with Eclipse, but I imagine any tool that
"owns" a directory and scans it for changes will find these temporary
files and do something unexpected based on the suffix. By setting the
suffix to something insert, like txt, tmp, dat or whatever you prevent
that tool from thinking too much.

In concrete terms, what happens is that Eclipse, in my case, find
temporary filenames with the suffix Foo.REMOTE.java and thinks that
is the one source file for Foo since it contains the source for Foo.

Sure you lose syntax highlighting, that's a trade-off. An alternative
solution would be to put these files somewhere else.

-- robin