2009/03/10

Subversion, Grep, Diff

我很習慣用 grep 來找 source code 當中的字串;也很習慣用 diff 來比較兩個 source tree 的差異。如:
grep -r STRING *
diff -ur DIR1 DIR2
這兩個指令很好用。但是遇到 Subversion 的 working copy 時,就會受到 .svn 目錄的干擾。所幸這兩個指令都提供排除非必要目錄的方法:
grep --exclude-dir=.svn -r STRING *
diff -x .svn -ur DIR1 DIR2

老實說,常會忘記這些參數,也常弄混。因此建議在 .bashrc 當中加上以下設定,這樣以後不管是不是 working copy 都可以安心使用 grep -r 和 diff -r 了:
alias grep='grep --exclude-dir=.svn'
alias diff='diff -x .svn'