Re: [PATCH v2] mergetool: support setting path to tool as config var mergetool.<tool>.path

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Steffen Prohaska
Date: Wednesday, October 10, 2007 - 8:44 am

On Oct 10, 2007, at 4:33 PM, Johannes Schindelin wrote:


If you provide a generic mechanism to call an external tool, there's no
need to name the tool. A single mechanism (let's call it external)  
would be
sufficient, like

mergetool.external.path = c:\any\path\merge.exe
mergetool.external.arg2way = %l %r --merge2 --to=%p
mergetool.external.arg3way = %b %l %r --merge3 --to=%p

But this places the burdon on the user to figure out the command line  
syntax
and specify it correctly using git-config. Things like proper  
escaping may
be a hassel.

The solution I'm proposing is more user-friendly. Only the information
that is hard to figure out automatically and is easy to provide by the
user is asked for. The user only needs to tell the path to the  
executable.

git-mergetool 'knows' about the correct command line syntax. There's  
no need
to ask the user. The command line syntax is fixed and know. No option  
here.
"git mergetool" could, for example, know that a certain tool just  
doesn't
support 3-way.

And the code of git-mergetool is also quite easy. The only input  
validation
that is needed is to check if mergetool.<tool>.path points to a valid
executable. If we provide a complex syntax for specifying command line
options we may have to do a lot more of input validation and processing.

I strongly favor my solution of including the command line syntax in
git-mergetool, and only ask the user for the path. I'm not against a  
generic
mechanism to configure any tool. However, I do not plan to implement it.

If someone plans to develop a generic mechanism I see two options:
1) What's explained above.
2) _Define_ the parameters passed to the external command and ask the  
user
    to write a wrapper script to call his tool of choice. Similar to  
what
    GIT_EXTERNAL_DIFF does. Wrapper scripts would go to contrib/.

Both solutions would require more work from the user than needed.

	Steffen
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [PATCH v2] mergetool: support setting path to tool as ..., Johannes Schindelin, (Wed Oct 10, 7:33 am)
Re: [PATCH v2] mergetool: support setting path to tool as ..., Steffen Prohaska, (Wed Oct 10, 8:44 am)
Re: [PATCH v2] mergetool: support setting path to tool as ..., Johannes Schindelin, (Wed Oct 10, 10:03 am)
Re: [PATCH v2] mergetool: support setting path to tool as ..., Steffen Prohaska, (Wed Oct 10, 10:40 am)
Re: [PATCH v2] mergetool: support setting path to tool as ..., Steffen Prohaska, (Sun Oct 14, 5:52 am)