svn add *歸檔當前目錄下的所有文件和存在的問題

1.需求

需要歸檔linux sdk的源代碼,於是google搜索了一個命令:

svn add *

把當前目錄下的所有文件添加svn add屬性。

然後用命令:

svn --username [username] commit -m $'this is log.'

提交代碼到svn服務器。

2.問題

今天把sdk代碼從svn服務器check out到本地,編譯,發現編譯失敗。

於是,回到原來的sdk目錄下,執行編譯,編譯成功。

通過比較工具,依次比較原來的sdk目錄和從svn服務器check out到本地的sdk目錄,發現之前歸檔svn時,漏掉了很多文件(主要是:*.so、*.o和*.a文件)。

3.解決

上網查找,找到一個shell腳本,解決了遇到的問題!shell腳本:

files=$(svn st | grep ? | sed 's/\?//g' | sed 's/ //g')
for i in $files; do
    svn add $i
done

可以簡化爲一個shell命令:

svn add $(svn st | grep ? | sed 's/[\?][ ]//g')

4.參考

(1)shell腳本(命令)參考文章《Shell 命令行,svn add 需要添加很多文件時的簡化腳本》(鏈接)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章