Linux環境下svn回滾單個檔案的shell函式

2021-07-25 23:58:19 字數 730 閱讀 5897

svnrollback

() v=$

# 獲取到檔案的所有更新資訊

arr=`svn log $file`

# 從更新資訊中刪去不必要的資訊

arr=$

# 這條指令執行兩遍代表著獲取當前版本的上乙個版本號

# 想獲得上n個版本就重複n+1遍

arr=$

# 繼續抽取

arr=$

# 獲得目標版本號

lv=$

echo

"roll back"

# 將兩個版本的檔案融合

svn merge -r $v:$lv

$file

# 提交修改

svn merge -r 新版本號:需要回滾到的版本號 檔案路徑
svn commit -m 說明資訊 檔案路徑
由於執行svn的指令每次返回的都是一堆亂七八糟的東西所以為了抽取版本號,必須使用shell自帶的字串擷取方法,詳情請看另外一篇部落格

shell指令碼擷取字串的方法

SVN回滾版本

取消對 的修改分為兩種情況 第一種情況 改動沒有被提交 commit 這種情況下,使用svn revert就能取消之前的修改。svn revert用法如下 svn revert r something 其中something可以是 目錄或檔案的 相對路徑也可以是絕對路徑。當something為單個檔...

svn 回滾 單個檔案 或者 目錄 或者 整個專案

取消對 的修改分為兩種情況 第一種情況 改動沒有被提交 commit 這種情況下,使用svn revert就能取消之前的修改。svn revert用法如下 svn revert r something 其中something可以是 目錄或檔案的 相對路徑也可以是絕對路徑。當something為單個檔...

svn回滾版本2

取消對 的修改分為兩種情況 第一種情況 改動沒有被提交 commit 這種情況下,使用svn revert就能取消之前的修改。svn revert用法如下 svn revert r something 其中something可以是 目錄或檔案的 相對路徑也可以是絕對路徑。當something為單個檔...