當Mercurial在cygwin下運行時,弄清楚如何產生WinMerge來解決合併衝突有點棘手。我怎樣才能做到這一點?如何配置Mercurial使用WinMerge進行合併,在cygwin下?
9
A
回答
16
訣竅是cygwin路徑與Windows路徑不一樣,因此您需要一個腳本將cygwin路徑轉換爲Windows路徑,然後將它們作爲參數傳遞給WinMerge。
這裏是如何做到這一點:
(1)/usr/bin/winmerge
創建一個shell腳本如下:
#!/bin/sh
"/cygdrive/c/Program Files/WinMerge/WinMergeU.EXE" /e /ub /dl other /dr local `cygpath -aw $1` `cygpath -aw $2` `cygpath -aw $3`
注:cygpath
轉換路徑名。如果WinMerge不在默認位置,請在此處更改路徑。
(2)使該文件可執行
chmod +x /usr/bin/winmerge
(3)以下內容添加到您的~/.hgrc
文件:
[ui]
merge = winmerge
[merge-tools]
winmergeu.executable=/usr/bin/winmerge
winmergeu.args=$other $local $output
winmergeu.fixeol=True
winmergeu.checkchanged=True
winmergeu.gui=False
注意!你可能已經有一個名字在其中的[ui]部分。請記住將我的更改與您的更改合併,不要只添加新的[ui]部分。例如,我的.hgrc如下所示:
[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
0
以下是適用於Subversion/cygwin/WinMerge的shell腳本行。主要區別是使用哪些參數。
/cygdrive/c/Program\ Files/WinMerge/WinMergeU.exe /e /ub /dl "$3" /dr "$5" "`cygpath -aw $6`" "`cygpath -aw $7`" &
注意,這個例子也設置了描述字段並啓動比較的背景下,讓所有的差異時立即啓動。如果你不喜歡,請刪除'&'。
如果您不知道您的修訂控制程序通過了什麼,請嘗試將'echo $ @'添加到您的shell腳本中。它將打印傳遞給腳本的參數。
相關問題
- 1. 如何配置Mercurial在合併時使用Kompare?
- 2. 如何使用Mercurial合併在存儲庫之外進行的更改?
- 3. Mercurial在Cygwin上找不到用戶名配置
- 4. 如何在Mercurial上合併用戶?
- 5. 如何讓diffmerge與Mercurial進行三向合併?
- 6. 如何檢出配置文件並使用mercurial重命名它?
- 7. 如何使用Wix進行搜索並替換配置文件?
- 8. 如何使用NodeJS構建配置並進行表達?
- 9. 如何在Cygwin中爲Emacs配置jdee
- 10. 如何在沒有合併的情況下重新綁定mercurial?
- 11. 如何在Git擴展中使用Winmerge?
- 12. Mercurial Undo合併
- 13. 在mercurial中運行合併後,如何列出需要合併的文件?
- 14. 如何在不使用覆蓋所附配置份合併的Symfony /配置〜2.6
- 15. 如何配置Mercurial在mercurial.ini中使用環境變量
- 16. 如何在Windows 7中使用cygwin進行符號鏈接
- 17. 如何在Mercurial中執行合併「衝突報告」?
- 18. 在mercurial中合併書籤
- 19. 無法在mercurial中合併
- 20. 在Mercurial中合併分支
- 21. 使用mercurial合併cvs分支
- 22. 如何使用索引配置tolkenizers並使用Lucene和Nhibernate進行搜索
- 23. 如何在不使用GROUP BY的情況下進行聚合?
- 24. 如何在使用以下PHP代碼的mysql中進行配置?
- 25. 如何在git中使用我的更改進行合併?
- 26. 使用TFS在調試模式下進行Web配置轉換
- 27. 與窯(mercurial)合併
- 28. 使用Spring Security進行Spring Boot Java配置:如何配置使用FilterBasedLdapUserSearch和BindAuthenticator?
- 29. 如何配置asp.net進程在域帳戶下運行?
- 30. 在windows下設置Emacs + Cygwin!
你現在可以接受你自己的答案了吧? – 2009-02-14 05:23:09