❶ windows下刪除svn信息腳本
腳本如下
@echo off
echo ***********************************************************
echo 清除SVN版本信息
echo ***********************************************************
:start
::啟動過程,切換目錄
@set pwd=%cd%
cd /d %1
echo 工作目錄是:&chdir
:input
::獲取輸入,根據輸入進行處理
set source=:
set /p source=確定要清楚當前目錄下的.svn信息嗎?[Y/N/Q]
set "source=%source:"=%"
if "%source%"=="y" goto clean
if "%source%"=="Y" goto clean
if "%source%"=="n" goto noclean
if "%source%"=="N" goto noclean
if "%source%"=="q" goto end
if "%source%"=="Q" goto end
goto input
:clean
::主處理過程,執行清理工作
@echo on
@for /d /r %%c in (.svn) do @if exist %%c ( rd /s /q %%c & echo 刪除目錄%%c)
@echo off
echo "當前目錄下的svn信息已清除"
goto end
:noclean
::分支過程,取消清理工作
echo "svn信息清楚操作已取消"
goto end
:end
::退出程序
cd "%pwd%"
pause
將上述腳本拷貝後新建xx.bat文件。在命令行執行
xx.bat path
其中path為傳入的要清理的文件路徑
❷ SVN 批量刪除或添加文件
SVN批量刪除文件
svn status | grep ! | awk '{print $2}' | xargs svn delete
1、首先svn status查看svn狀態,列出所有改動,打!號的是已經刪除的文件但是還未標記成從庫中除去。
2、grep ! 將這些文件單獨抽離出來,此時如果不執行後面的語句,呈現的內容應該是類似 ! filepath/image/image.jpg
3、再用 awk '{print $2}' 將抽離出來的文本結果處理,留下每一行的第二段文字,即後面的文件名, 此處必須注意,svn status|grep ! 和後面的語句 |awk '{print $2}'|xargs svn delete之間,必須有一個空格,否則終端還是會認為這個!號是特殊符號.
4、最後就可以直接遞交給svn delete命令了,使用xargs這個參數構造命令,將每一行的文本作為參數提供給svn del,結果就是所有列出的文件都執行了一遍del了。
注意:
有時刪除圖片倍圖,帶有@符號的時候,報錯 a peg revision is not allowed here 。解決方法在文件後添加@符號,例如,刪除一張圖片 svn delete filepath/[email protected]@,這樣就可以刪除成功了。
SVN批量添加文件
幾乎和上面批量刪除一樣,不同的是svn標記的符號不一養,使用的是問號
svn status|grep ? |awk '{print $2}'|xargs svn add
處理好之後就可以 svn commit -m "..."
❸ SVN添加忽略後,怎麼解除被忽略的文件
如果用的客戶端是TortoiseSVN,對這個文件夾點右鍵,選擇右鍵菜單: TortoiseSVN——從忽略列表中刪除,然後就可以了,很簡單的。 如果顯示鎖定的話,你可以嘗試對上層文件夾執行一次清理操作,右鍵菜單: TortoiseSVN——清理