2015-03-03 40 views
5

Chcę użyć meld jako mojego narzędzia do porównywania dla git.Używanie meld jako difftool dla git, ale wymienienie wszystkich plików w jednym oknie

Gdybym skonfigurować mój .gitconfig tak: polecenie

[difftool] 
    prompt = false 
[diff] 
    tool = meld 

i uruchom: $ git difftool
następnie git otworzyć okno meldunku dla każdego pliku, które mają zmiany.

Ale chcę jedno okno z wszystkimi moimi plikami w polu listy połączeń. Przeczytałem trochę o opcji -d lub --dir-diff.
Gdy próbuję: $ git difftool -d
to pojedyncze okno jest otwierane z jednym drzewem katalogowym w każdej części związanej, ale zawiera puste katalogi.
Nie mogę otworzyć plików z tego miejsca.

enter image description here

Dla infomation:

$ git --version 
git version 1.9.1 
$ meld --version 
meld 1.8.4 
$ lsb_release -d 
Description: Ubuntu 14.04.2 LTS 

Używam git svn też, ale nie sądzę, jest to związane z moim problemem; ponieważ o ile rozumiem git-svn, mój katalog działa jak zwykły katalog git.

Powiązane pytania:
View differences of branches with meld?

Odpowiedz

10

Poprawiłem mój problem poprzez usunięcie meldunku i używać nowej wersji (3.12.3) z niego:
sudo apt-get remove meld

teraz mój .gitconfig jest jak:

[difftool] 
    prompt = false 

[diff] 
    tool = meld 
    guitool = meld 

[difftool "meld"] 
    path = /home/me/App/meld/meld-3.12.3/bin/meld 

Rezultatem następujących komend są:

  • git diff: zacisk diff każdego zmodyfikowanych plików
  • git diff <myfile>: zacisk diff <myfile>
  • git difftool <myfile>: łączą diff <myfile>
  • git difftool: łączą diff każdego zmodyfikowanych plików jedną cześć jednego
  • git difftool -d: meld diff każdego pliku, w jednym oknie:

I również dodałem tę linię do mojego bash_alias, ale myślę, że to mogłoby działać bez.
alias meld='/home/benjamin/Applications/meld/meld-3.12.3/bin/meld'

+1

dla tej jednej: [difftool "meldunku"] path = /home/me/App/meld/meld-3.12.3/bin/meld Próbowałem tego w poleceniu wiedzieć, gdzie jest meldunku installed: whereis meld i jest to/usr/bin/meld –