* configure names for temporary files
@ 2014-10-07 14:33 Sergio Ferrero
2014-10-08 8:22 ` David Aguilar
0 siblings, 1 reply; 4+ messages in thread
From: Sergio Ferrero @ 2014-10-07 14:33 UTC (permalink / raw)
To: git
Hello,
I'd like to configure git with a specific merge tool to merge Simulink
model files.
I have followed the steps to configure the merge tool successfully.
I typed the following on Git Bash:
git config --system mergetool.<merge_tool_name>.cmd '"<merge_tool_path>"
-base "$BASE" -local "$LOCAL" -remote "$REMOTE" -merged "$MERGED"'
where:
- <merge_tool_name> is the name of the specific merge tool
- <merge_tool_path> is the full path to the .exe file for the merge tool
- the merge tool accepts the -base, -local, -remote and -merged arguments
Then, after a merge detects conflicts on a Simulink model, I run the
following command on the Git Bash:
git mergetool -t <merge_tool_name> <model_name>.mdl
This command properly launches the GUI of the merge tool, however it
indicates that provided file names are invalid. They are of the form:
<model_name>.mdl.<revision>.#.mdl,
where <revision> is either LOCAL, REMOTE or BASE and # is a number.
The merge tool needs to open the model in MATLAB and MATLAB does not allow
opening models with '.' in their names.
Thus, is there a way to configure Git so that temporary models are of the
form <model_name>_mdl_<revision>_#.mdl instead of <
model_name>.mdl.<revision>.#.mdl?
Other temp file name should also be ok as long as the file does not
contains dots in the part that corresponds to the file name.
Thanks in advance,
Sergio
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: configure names for temporary files
2014-10-07 14:33 configure names for temporary files Sergio Ferrero
@ 2014-10-08 8:22 ` David Aguilar
2014-10-08 17:25 ` Junio C Hamano
0 siblings, 1 reply; 4+ messages in thread
From: David Aguilar @ 2014-10-08 8:22 UTC (permalink / raw)
To: Sergio Ferrero; +Cc: git
On Tue, Oct 07, 2014 at 11:33:16AM -0300, Sergio Ferrero wrote:
> Hello,
>
> I'd like to configure git with a specific merge tool to merge Simulink
> model files.
> I have followed the steps to configure the merge tool successfully.
>
> I typed the following on Git Bash:
>
> git config --system mergetool.<merge_tool_name>.cmd '"<merge_tool_path>"
> -base "$BASE" -local "$LOCAL" -remote "$REMOTE" -merged "$MERGED"'
>
> where:
>
> - <merge_tool_name> is the name of the specific merge tool
> - <merge_tool_path> is the full path to the .exe file for the merge tool
> - the merge tool accepts the -base, -local, -remote and -merged arguments
>
>
> Then, after a merge detects conflicts on a Simulink model, I run the
> following command on the Git Bash:
>
> git mergetool -t <merge_tool_name> <model_name>.mdl
>
>
> This command properly launches the GUI of the merge tool, however it
> indicates that provided file names are invalid. They are of the form:
> <model_name>.mdl.<revision>.#.mdl,
> where <revision> is either LOCAL, REMOTE or BASE and # is a number.
>
> The merge tool needs to open the model in MATLAB and MATLAB does not allow
> opening models with '.' in their names.
>
> Thus, is there a way to configure Git so that temporary models are of the
> form <model_name>_mdl_<revision>_#.mdl instead of <
> model_name>.mdl.<revision>.#.mdl?
No such option exists.
In theory you could come up with a way to make this configurable.
A configuration variable could define a file pattern, for example.
The downside is making it configurable means supporting some
micro-format and the implementation would probably be ugly and
require eval. I don't think it needs to be configurable.
Right now the code flow is roughly:
MERGED=foo/bar.baz
ext="$$$(expr "$MERGED" : '.*\(\.[^/]*\)$')"
BACKUP="./$MERGED.BACKUP.$ext"
LOCAL="./$MERGED.LOCAL.$ext"
REMOTE="./$MERGED.REMOTE.$ext"
BASE="./$MERGED.BASE.$ext"
This results in a path that looks like:
./foo/bar.baz.BASE.81001.baz
I think we can do better by default.
A more conservative result would something like:
./foo/bar_BASE_81001.baz
Consequently, matlab (and perhaps other overly-picky tools) are
more likely to accept this path since it fits into their
windows-esque worldview where filenames can have at most 1 dot.
You should also email matlab support and kindly ask them to fix
their buggy software! ;-P foo.bar.baz is a perfectly valid
filename.
In any case, it might be worth adjusting mergetool to use a more
conservative path (underscores instead of dots) since there
doesn't seem to be much downside to doing so.
--
David
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: configure names for temporary files
2014-10-08 8:22 ` David Aguilar
@ 2014-10-08 17:25 ` Junio C Hamano
2014-10-10 14:39 ` Sergio Ferrero
0 siblings, 1 reply; 4+ messages in thread
From: Junio C Hamano @ 2014-10-08 17:25 UTC (permalink / raw)
To: David Aguilar; +Cc: Sergio Ferrero, git
David Aguilar <davvid@gmail.com> writes:
> In any case, it might be worth adjusting mergetool to use a more
> conservative path (underscores instead of dots) since there
> doesn't seem to be much downside to doing so.
Hopefully there won't be tools that reject paths with "_" in them
;-)
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: configure names for temporary files
2014-10-08 17:25 ` Junio C Hamano
@ 2014-10-10 14:39 ` Sergio Ferrero
0 siblings, 0 replies; 4+ messages in thread
From: Sergio Ferrero @ 2014-10-10 14:39 UTC (permalink / raw)
To: Junio C Hamano; +Cc: David Aguilar, git
Ok. thanks!
David: I'm pretty sure matlab won't do that change soon :)
Sergio
On Wed, Oct 8, 2014 at 2:25 PM, Junio C Hamano <gitster@pobox.com> wrote:
> David Aguilar <davvid@gmail.com> writes:
>
>> In any case, it might be worth adjusting mergetool to use a more
>> conservative path (underscores instead of dots) since there
>> doesn't seem to be much downside to doing so.
>
> Hopefully there won't be tools that reject paths with "_" in them
> ;-)
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-10-10 14:39 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-07 14:33 configure names for temporary files Sergio Ferrero
2014-10-08 8:22 ` David Aguilar
2014-10-08 17:25 ` Junio C Hamano
2014-10-10 14:39 ` Sergio Ferrero
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).