Mercurial cygwin altında çalışırken, birleştirme çakışmalarını çözmek için WinMerge nasıl doğduğunu anlamak biraz zor. Bunu nasıl yapabilirim?Mercurial'i birleştirme için WinMerge'i cygwin altında kullanacak şekilde nasıl yapılandırabilirim?
Mercurial'i birleştirme için WinMerge'i cygwin altında kullanacak şekilde nasıl yapılandırabilirim?
cevap
Hile, cygwin yollarının Windows yollarıyla aynı olmamasıdır, bu yüzden Windows yollarına Cygwin yollarını WinMerge'ye argüman olarak göndermeden önce dönüştüren küçük bir betiğe ihtiyacınız vardır.
İşte bunu nasıl şu şekildedir:
(1) /usr/bin/winmerge
bir shell script oluşturun:
#!/bin/sh
"/cygdrive/c/Program Files/WinMerge/WinMergeU.EXE" /e /ub /dl other /dr local `cygpath -aw $1` `cygpath -aw $2` `cygpath -aw $3`
Not: cygpath
yol adları dönüştürür. WinMerge varsayılan konumda değilse, yolu burada değiştirin.
(2) bu dosya çalıştırılabilir yapmak
chmod +x /usr/bin/winmerge
(3) sizin ~/.hgrc
dosyaya aşağıdaki satırları ekleyin:
[ui]
merge = winmerge
[merge-tools]
winmergeu.executable=/usr/bin/winmerge
winmergeu.args=$other $local $output
winmergeu.fixeol=True
winmergeu.checkchanged=True
winmergeu.gui=False
Not! Muhtemelen adında bir [ui] bölümünüz var. Değişikliklerimi kendiniz ile birleştirmeyi unutmayın, sadece yeni bir [ui] bölüm eklemeyin. Örneğin, benim .hgrc şöyle görünür:
İşte[ui]
username = Joel Spolsky <[email protected]>
merge = winmergeu
[extensions]
fetch =
[merge-tools]
winmergeu.executable=/usr/bin/winmerge
winmergeu.args=$other $local $output
winmergeu.fixeol=True
winmergeu.checkchanged=True
winmergeu.gui=False
Subversion/cygwin/WinMerge için çalışan kabuk komut dosyası çizgidir. Temel fark, hangi argümanların kullanılmasıdır. Bu örnek, aynı zamanda açıklama alanlarını belirler ve tüm diffs seferde başlatılan böylece arka planda karşılaştırmaları başlattı olduğunu
/cygdrive/c/Program\ Files/WinMerge/WinMergeU.exe /e /ub /dl "$3" /dr "$5" "`cygpath -aw $6`" "`cygpath -aw $7`" &
Not. Beğenmezseniz, '&' öğesini kaldırın.
Düzeltme denetim programınızın size ne geçtiğini bilmiyorsanız, kabuk komut dosyasına 'echo $ @' eklemeyi deneyin. Komut dosyasına iletilen argümanları basacaktır.
- 1. Betamax'ı Spock testlerim için SSL kullanacak şekilde nasıl yapılandırabilirim?
- 2. TFS'yi çeşitli birleştirme araçlarıyla çalışacak şekilde nasıl yapılandırabilirim
- 3. WebLogic 10.3 Web Uygulamasını SAML 2 SSO ve Kimlik Sağlayıcısı Kullanacak şekilde nasıl yapılandırabilirim?
- 4. GitHub'u desteklenmeyen Jekyll site eklentileri kullanacak biçimde nasıl yapılandırabilirim?
- 5. Tomcat'i SSL Kullanacak Şekilde Yapılandırma
- 6. Common.Logging'i nasıl başarılı bir şekilde yapılandırabilirim?
- 7. GameMaker'ı Pencereli Alanı Kullanacak Şekilde Ayarlayın
- 8. Cygwin altında gcc'i derlenmiş çalıştırılabilir dosyalara ".exe" ekleyerek nasıl durdurabilirim?
- 9. SQL Server'ı IIS üzerinden erişime izin verecek şekilde nasıl yapılandırabilirim
- 10. Windows'ta cygwin altında boşluklu git URL'lerini nasıl belirtirsiniz?
- 11. Tüm istek koşulları için Capybara.javascript_driver ürününü kullanacak şekilde RSpec'i yapılandırın
- 12. Visual Studio'yu, çözümümüzü oluştururken FAKE kullanacak şekilde nasıl alabilirim?
- 13. Python'da OpenCV 3 altında HSV kanallarını birleştirme
- 14. npm'yi bir .pac dosyası kullanacak şekilde ayarlayabilir miyim?
- 15. Python 3.5, Windows üzerinde Visual C++ derleyicisini kullanacak şekilde yapılamıyor
- 16. Cygwin
- 17. Neden "paket güncellemesi", Gemfile Rails 3.0.5'i kullanacak şekilde güncellenmiyor?
- 18. Android'i RTSP/AVP/TCP aralıklı olarak kullanacak şekilde zorlamak
- 19. std :: priority_queue çiftlerini yoksaymak için nasıl yapılandırabilirim?
- 20. cscope, cscopequickfix quickfix kullanacak şekilde ayarlandığında etiket yığınına etiket kaydetmez
- 21. Zip dosyalarını açmak için vim'i nasıl yapılandırabilirim?
- 22. Nginx'i Jetty6 web sunucusu ile çalışacak şekilde nasıl yapılandırabilirim?
- 23. Magento - Ürün değerlerini varsayılan değerleri kullanacak şekilde ayarla
- 24. java.util.logging, sıkıştırılmış günlük dosyalarını kullanacak şekilde yapılandırılabilir mi?
- 25. Komut geçmişi için Cygwin kısayolu
- 26. Elastic Search'ü kendi Stop Word listemi kullanacak şekilde özelleştirebilir miyim?
- 27. Grails eklentisi için günlük kaydını nasıl yapılandırabilirim?
- 28. Scala projeleri için jEdit'i nasıl yapılandırabilirim?
- 29. Jekyll'i SVG'ye hizmet etmek için nasıl yapılandırabilirim?
- 30. Kavanoz için log4j günlüğünü nasıl yapılandırabilirim?
Artık kendi cevabınızı kabul edebilirsiniz, değil mi? –
48 saat beklemek zorundayım. –
Bu betiği muhtemelen/usr/bin/dizinine koymam. Cygpath kullanmamanız için peşinden gidecektim ama sonra kod bloğunu kaydettim ve ne yaptığınızı gördüm. –