我正在分析軟件,我正在收集系統生命中三個不同點的svn。開始,中間和結束。 我目前能夠收集存儲庫的起始點,無論我設置了哪個數字,但是當存儲庫開始在主幹中存在數據或代碼時,我需要收集svn。最好的做法是使用while循環,而$ ip不包含...做刪除當前$ ip並獲得$ ip + 1使用bash分析svn存儲庫
我有svn_url.txt中的svn url和svn_name中的項目名稱。文本。 所以我得到的輸出我目前收到的是:
https://ponkout.svn.sourceforge.net/svnroot/ponkout
ponkout
Checked out revision 73.
final revision is: 73
mid revision is: 36
Checked out revision 36.
Checked out revision 1.
#!/bin/bash
for i in `cat svn_url.txt`; do echo $i; done;
for j in `cat svn_name.txt`; do echo $j; done;
svn co $i $j-fp && fpInfo=`svnversion $j-fp`;
echo "final revision is: "$fpInfo;
mpInfo=$((fpInfo/2));
echo "mid revision is: "$mpInfo;
svn co -r$mpInfo $i $j-mp;
ip=$((1));
svn co -r$ip $i $j-ip;
「最新版本/ 2」是一種完全不準確的方式來表示Subversion存儲庫中任何東西的「中間」。你可以這麼說,因爲一個應用程序有10K行代碼,當你有5K的代碼時,它已經完成了50%。 – alroc 2013-02-28 18:18:39
我明白你在說什麼。我只是有興趣收集系統生命中三點的數據。開始中間和結束。它不一定是5000LOC的mp和10000LOC的最後。可以是中間的10000LOC和最後的5000LOC,表明系統可以被重構。 – 2013-02-28 19:47:32
我要說的是,基於庫中的其他活動,代碼的修訂版73可能與修訂版36的*相同,因此您沒有捕獲三點,但只有兩點。如果你真的想要開始,結束和之間的某個地方,你需要從'svn info'獲得**最後更改的修訂**,但即使如此,最後修改/ 2只能代表一個* actual *修訂在最後一個之前。 – alroc 2013-02-28 20:03:20