Właśnie zaczynam pracować z Git. Chciałbym użyć TortoiseMerge jako difftool i mergetool.Czy TortoiseMerge może być używany jako difftool z Windows Git Bash?
W moim pliku .gtconfig w moim osobistym katalogu użytkownika mam następujące sekcje. Usunąłem sekcje użytkownika i kolorów dla tego pytania.
[merge]
tool = tortoisemerge
[mergetool "tortoisemerge"]
cmd = \"TortoiseMerge.exe\" -base:\"$BASE\" -mine:\"$LOCAL\" -theirs:\"$REMOTE\" -merged:\"$MERGED\"
[diff]
tool = tortoisemerge
[difftool "tortoisemerge"]
cmd = \"TortoiseMerge.exe\" -base:\"$BASE\" -mine:\"$LOCAL\" -theirs:\"$REMOTE\" -merged:\"$MERGED\"
Jeśli napiszę tortoisemerge po znaku zachęty Git Bash, zostanie załadowany. Wiadomo, że jest na ścieżce. Ale jeśli wpiszę komendę, otrzymam następujący błąd.
Rich:mygittest (master *)
$ git difftool
error: 'tortoisemerge' can only be used to resolve merges
merge tool candidates: kompare emerge vimdiff
No known merge resolution program available.
external diff died, stopping at readme.txt.
Rich:mygittest (master *)
$
Czego nie rozumiem, aby to zadziałało? Tortoisemerge jest instalowany z TortoiseSVN.
TortoiseMerge ma problem ze sposobem Git mangles parametrów. Ponieważ TortoiseMerge używa dwukropka do oddzielenia nazwy parametru od wartości, Git umieszcza cytaty wokół obu przy nazwach plików ze spacjami. TortoiseGitMerge pozwala na przestrzeń i łagodzi problem. –
To jest bash msys, który mangles cytuje. Najwyraźniej powinna działać z git tortoise 1.8 – jwg
[Perforce nie może poradzić sobie z dwukropkami] (http://stackoverflow.com/a/12638596/284795). Powinniśmy poprosić TortoiseMerge o dodanie alternatywnej składni. –