星期四, 5月 03, 2012

svn篩選更動的部份並提交

人懶得打字,就要寫個script來輔助篩選...

一般來說都是先用 svn status 看改了些什麼,然後才下 svn commit 提交。可是如果檔案很多,大概就看不完也打不完,下面這個 script 就是先利用 awk 篩掉 ? 的部份,這些是未納入版本控制的檔案,就不顯示,有需要,要記得要先用 svn add 加入。然後篩選完,就順便組出 dialog 指令需要的格式,最後再用 dialog 來顯示出可勾選的對話視窗。

#!/bin/bash

FILES=$(svn status | awk '$1 !~ /^?/{printf("%s %s off ", $2, $1);}')
CMD="dialog --separate-output --stdout --checklist Modified/Add/Delete 24 80 20 \
    $FILES"
SELECTED=$($CMD)

if [ "$SELECTED" == "" ]; then
    echo "Select nothing."
else
    echo "svn commit $SELECTED"
fi

沒有留言: