想不到 svn 要用 –diff-cmd 才能指定用哪個 diff,因為不想每次打 svn diff –diff-cmd 這麼長的指令,就寫成了 script。既然要寫成 script,那乾脆再簡化,如果不帶參數,就自動帶出所有有更動/衝突的檔案,讓我來挑選哪些要比對。
#!/bin/sh # Dependencies: zentiy subversion awk meld if [ -z $1 ]; then FILES=`svn status | awk '/^[MC]/{print $2;}' | zenity --list --width=600 --height=400 --separator=\ --checklist --title "The files which modified/conflict" --text 'Please select files' --column '' --column 'Files'` else FILES=$@ fi for FILE in $FILES; do svn diff --diff-cmd /usr/bin/meld $FILE done exit 0