而不是運行「svn diff」,「hg diff」等......我們可以編寫一個相應地調用svn/hg/git的命令嗎? diff輸出可以變得漂亮嗎?VCS獨立差異
編輯:首選命令行工具(不是GUI)。
而不是運行「svn diff」,「hg diff」等......我們可以編寫一個相應地調用svn/hg/git的命令嗎? diff輸出可以變得漂亮嗎?VCS獨立差異
編輯:首選命令行工具(不是GUI)。
如果您不得不再次輸入「svn diff」或「hg diff」,只是爲了以較少的值對頁面進行分頁。此外,當文本編輯器很可能會語法高亮顯示時,終端中的差異輸出不應該以適當的顏色突出顯示。
alt text http://img25.imageshack.us/img25/8597/colordiff.png
您需要colordiff可以通過apt或使用MacPorts安裝。
下面的bash函數將使您能夠在您選擇的VCS的工作目錄下鍵入'dif'(不需要指定它是hg還是svn)。
function dif {
if [ -d .hg ]; then
VC='hg'
elif [ -d .svn ]; then
VC='svn'
else
echo "cannot find VC type"
return 1
fi
$VC diff $1 | colordiff | less -R
}
它應該很容易增加對其他VCS工具支持(GIT,CVS等)
此外,如果您已經安裝UVC(按瑞安威爾考克斯的答案),上面的腳本可以簡化爲:
function dif {
uvc diff $1 | colordiff | less -R
}
你可以摺疊你的'test'和'if'語句:'if [-d .hg];那麼'你也應該用'if ... elif ... else'(或者使用'case'語句)來平衡你的'if'。 – 2010-01-18 10:26:29
Thx,我修改了代碼。 – 2010-01-18 22:45:36
'pyvcs'包似乎沒有安裝任何腳本;它只提供一個抽象的API嗎? – 2010-01-19 07:24:02
哇,但我想你是對的。我的錯。 – RyanWilcox 2010-01-19 23:49:41
謝謝你的UVC參考,我已經更新了我的腳本以使用UVC。 – 2010-01-20 17:26:08
嘗試Diffuse。它會找出合適的版本控制系統,並以不錯的語法高亮顯示差異。
更適合於SO? – Sathya 2010-01-18 06:04:48