2014-04-12 13 views
5

Visual Studio 2013'ün Git'teki dosyaları karşılaştırırken yerleşik fark aracını nasıl kullanabileceğinizi açıklayan this post'u buldum, ancak tam tersi sorun yaşıyorum. Şu anda Git Commit Details penceresinde bir dosyaya sağ tıklayıp Compare With Previous... VS'yi seçerseniz, Visual Studio 2013 karşılaştırma aracındaki farklılığı gerçekleştirir, ancak özellikle bir TortoiseMerge.exe aracını kullanmak istiyorum. C: \ Users \ [My Name] \. Gitconfig içinde belirttim ve GitBash konsolundan düzgün çalışıyor ancak Visual Studio bu ayarı yok sayar ve her zaman yerleşik aracını kullanır. Visual Studio 2013'te Git için bir dış fark aracı nasıl kullanılır?

Bu

O .gitconfig içinde ne var:

[merge] 
    tool = kdiff3 
[mergetool "kdiff3"] 
    path = c:/Program Files (x86)/KDiff3/kdiff3.exe 
[diff] 
    guitool = TortoiseMerge 
[difftool "TortoiseMerge"] 
    path = C:/Program Files/TortoiseSVN/bin/TortoiseMerge.exe 

Ben de yapmak benim yerel deponun .gitconfig kontrol ettikten bu ayarı geçersiz değildi ve herhangi bir diff veya difftool belirtmez emin ayarlar.

Ben de böyle benim .gitconfig içinde benzer ayarları denedim:

[diff] 
    guitool = TortoiseMerge 
[difftool "TortoiseMerge"] 
    cmd = \"C:/Program Files/TortoiseSVN/bin/TortoiseMerge.exe\" /base:"$REMOTE" /local:"$MINE" 

ancak davranış değişmez.

+0

Bu dosya yolundaki alan nedeniyle oluyor düşünüyorum. 'kdiff' ve 'TortoiseMerge' yeniden dosya yolunda boşluk olmaması gibi yeni bir dizine yeniden yüklemenizi önerir. Program Files klasörü yerine. –

+0

@mu Tor TortoiseMerge'i boşluksuz bir klasör yoluna yüklemeyi denedim, ancak yine de aynı soruna sahip :( – deadlydog

cevap

6

Visual Studio, diff.guitool yapılandırma ayarını değil diff.tool yapılandırma ayarını kullanır.

Dene: Ben Visual Studio 2012. son zamanlarda aynı sorunu vardı

[diff] 
    tool = TortoiseMerge 
0

bu ararken buldum ilk parçacığı olduğu gibi burada çözüm yayınlayacağız.

Benim .gitconfig dosyası bu benziyordu:

[merge] 
    tool = kdiff3 
[diff] 
    tool = kdiff3 
[difftool] 
    prompt = true 

[difftool "kdiff3"] 
    path = "C:/Program Files/KDiff3/kdiff3.exe" 
    keepBackup = false 
    trustExitCode = true 
[mergetool] 
    prompt = true 

[mergetool "kdiff3"] 
    cmd = "C:/Program Files/KDiff3/kdiff3.exe" $BASE $LOCAL $REMOTE -o $MERGED 
    keepBackup = false 
    trustExitCode = true 

[mergetool "vsdiffmerge"] 
    cmd = "C:/Program Files (x86)/Microsoft Visual Studio 12.0/Common7/IDE/vsdiffmerge.exe" /m $REMOTE $LOCAL $BASE $MERGED 
    keepbackup = false 
    trustexistcode = true 

sorun yapılandırma bölümleri arasında yeni satırların oldu. Bu dosyayı değiştirme

doğru çalıştı:

[merge] 
    tool = kdiff3 
[diff] 
    tool = kdiff3 
[difftool] 
    prompt = true 
[difftool "kdiff3"] 
    path = "C:/Program Files/KDiff3/kdiff3.exe" 
    keepBackup = false 
    trustExitCode = true 
[mergetool] 
    prompt = true 
[mergetool "kdiff3"] 
    cmd = "C:/Program Files/KDiff3/kdiff3.exe" $BASE $LOCAL $REMOTE -o $MERGED 
    keepBackup = false 
    trustExitCode = true 
[mergetool "vsdiffmerge"] 
    cmd = "C:/Program Files (x86)/Microsoft Visual Studio 12.0/Common7/IDE/vsdiffmerge.exe" /m $REMOTE $LOCAL $BASE $MERGED 
    keepbackup = false 
    trustexistcode = true 
İlgili konular