2011-09-15 13 views
8

git config --global mergetool.bc3 "\"c:/program files (x86)/beyond compare 3/bcomp.exe\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\""mergetool da .gitconfig viene ignorato?

git mergetool

/usr/lib/git-core/git-mergetool--lib: line 116: bcompare: command not found

Questo è estremamente strano, perché sia ​​./.git/config e ~/.gitconfig aspetto corretto. Né elenca una voce per bcompare. È possibile leggere o archiviare la configurazione da qualsiasi posizione diversa da .git/config o ~/.gitconfig?

risposta

15

Sembra lo stesso problema di this guy. Sembra che bc3 sia un nome di strumento incorporato, e git non permetterà che quel nome sia sovrascritto. Prova a usare un nome diverso da bc3.

ho usato "BeyondCompare3"

[mergetool "BeyondCompare3"] 
    path = C:/Program Files/Beyond Compare 3/bcomp.exe 
    cmd = \"C:/Program Files/Beyond Compare 3/bcomp.exe\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\" 
+1

Questo spiega esattamente cosa stava succedendo. –

0

Se è necessario sostituire il percorso per uno strumento di unione, è sufficiente impostare la variabile mergetool.<tool>.path.

Gli strumenti di unione personalizzati possono essere specificati con mergetool.<tool>.cmd (che non dovrebbe essere necessario per Beyond Compare 3) ma una variabile del modulo mergetool.<tool> non ha alcun significato per git mergetool. Se tu fossi diretto a provare questo dalla documentazione forse puoi dire dove può essere risolto.

+0

È necessario se si sta esaurendo Cygwin. –