svn 復原到上一個版本shell 指令碼

來源:互聯網
上載者:User

標籤:

#!/bin/sh###############################       2015-07-15           ##   author jackluo           ## Email [email protected] ###############################version_list=$(svn log --limit 2|sed ‘1d‘|sed ‘$d‘|awk -F ‘|‘ ‘{print $1}‘|awk -v RS="" ‘{gsub("\n","");print}‘) #找出最近的版本,並進行格式化echo ‘verions finding....‘echo $version_list  #版本號碼 最近兩個rocback_version=$(svn log --limit 2|tac |sed -n 4p|awk ‘{print $1}‘) #要復原的前一個版本號碼echo -e "\r\n"echo ‘Version number that you want to roll back‘echo -e "\r\n"echo $rocback_version #版本號碼echo -e "\r\n"echo ‘are you sure of to ‘ $rocback_version ‘ Yes or No‘ #確定要復原過去echo -e "\r\n"read answer  #讀取使用者輸入if [ $answer == "Yes" ]then        svn up -r $rocback_version #復原代碼        echo -e "\r\n"        echo ‘Code is rocback is OK !!!^__^!!!‘else        echo "Abandoned operation program exit" #放棄操作fi

1、保證我們拿到的是最新代碼:

svn update

假設最新版本號碼是28。

2、然後找出要復原的確切版本號碼:

svn log [somefile]

如果log很多,可以使用參數--limit

svn log --limit 10 [somefile]

假設根據svn log日誌查出要復原的版本號碼是25,此處的somefile可以是檔案、目錄或整個項目

如果想要更詳細的瞭解情況,可以使用

svn diff -r 28:25 [somefile]

3、復原到版本號碼25:

svn merge -r 28:25 [somefile]

為了保險起見,再次確認復原的結果:

svn diff [somefile]

發現正確無誤,提交。

4、提交復原:

svn commit -m "Revert revision from r28 to r25,because of ..."

提交後版本變成了29。

將以上操作總結為三條如下:

1. svn update,svn log,找到最新版本(latest revision)

2. 找到自己想要復原的版本號碼(rollback revision)

3. 用svn merge來復原: svn merge -r 28:25 somefile

注意:雖然 svn up -r 25 somefile 也可以使檔案復原,但是當提交時由於不是最新版本而無法提交,還需要先更新,拷貝,再提交,所以不建議使用。

補充:

svn忽略檔案或檔案夾

svn propset svn:ignore ‘*‘ template_c/

svn 復原到上一個版本shell 指令碼

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.