成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Windows下SVN使用手冊簡明介紹

開發 項目管理
本文和大家一起學習一下SVN使用手冊,主要包括客戶端使用,SVN命令行和版本庫的備份等內容,希望通過本文學習的大家對Windows下SVN使用更加熟練。

本節向大家講解一下Windows下SVN使用手冊,在這列和大家分享一下,看完本文你肯定有不少收獲,希望本文能教會你更多東西。

五、客戶端使用
通常使用TortoiseSVN客戶端,它是作為一個系統插件存在的。
導入版本庫:在本地創建欲導入的目錄,使用右鍵checkout菜單項,在URLofrepository中輸入如“svn://127.0.0.1/vwas“,確定之后輸入用戶名和密碼即可完成導入。
其它操作請查TortoiseSVN使用手冊。命令行列舉版本庫:svnlistsvn://127.0.0.1/vwas 
六、SVN命令行
SVN使用手冊中SVN命令行問題。創建新的版本庫
svnadmincreate/path/to/repository
svnadmin是有用的subversion系統管理命令,使用svnadminhelp查看在線幫助信息。
添加新的項目(importnewproject)
svnimportprojectfile:///repository_name/project-m"Comment"
svnimportprojecthttp://yourhost/svn_dir/repository_name/project-m"Comment"
檢出(checkout)項目
svncheckoutfile:///repository_name/project/trunkproject
svncheckouthttp://yourhost/svn_dir/repository_name/project/trunkproject
列出倉庫中的項目(list)
svnlist--verbosefile:///repository_name/project
svnlist--verbosehttp://host/svn_dir/repository_name/project
狀態查詢(status)
svnstatus
給出新文件,已經改變的文件和被刪除的文件列表;
添加文件或目錄(add)
svnadd
刪除文件或目錄(delete)
svndelete
svndeletehttp://yourhost/svn_dir/repository/project_dir
提交(commit)
svncommithttp://yourhost/svn_dir/repository/project_dir
更新(update)
svnupdate
更新倉庫中的文件到本地。
標簽和特殊版本項目
使用copy命令
svncopyhttp://yourhost/repos/project/trunkhttp://yourhost/repos/project/tags/1.0.0
用于創建某個特定版本的快照(snapshot);
svnlisthttp://yourhost/repos/project/tags/1.0.0
七、版本庫備份(SVN使用手冊介紹這里引用了rocksun的《談談Subversion的備份》)
1.完全備份
最常見和簡單的備份就是直接使用拷貝命令,將版本庫目錄拷貝到備份目錄上就可以了。但是,這樣不是很安全的方式。因為如果在拷貝時版本庫發生變化,將會造成備份的結果不夠準確,失去備份的作用。為此Subversion提供了“svnadminhotcopy”命令,可以防止這種問題。
如果要把vwas備份到d:svnrootbak目錄下,只需要運行:
svnadminhotcopyd:svnrootvwasd:svnrootbakvwas
但是我們作為配置管理員,必須想辦法優化這個過程,如果我們這個目錄下有許多版本庫,需要為每個版本庫寫這樣一條語句備份。為此我寫了下面的腳本,實現備份一個目錄下的所有版本庫。我們在D:SVNROOT下創建了兩個文件,***個是simpleBackup.bat:
echooff
remSubversion的安裝目錄
setSVN_HOME="D:Subversion"
rem所有版本庫的父目錄
setSVN_ROOT=D:svnroot
rem備份的目錄
setBACKUP_SVN_ROOT=D:svnrootbak
@echo正在備份版本庫%1......
@%SVN_HOME%binsvnadminhotcopy%SVN_ROOT%%1%BACKUP_DIRECTORY%%2
@echo版本庫%1成功備份到了%2!
這個文件僅僅是對“svnadminhotcopy”的包裝,第二個是backup.bat:
echooff
remSubversion的安裝目錄
setSVN_HOME="D:Subversion"
rem所有版本庫的父目錄
setSVN_ROOT=D:svnroot
rem備份的目錄
setBACKUP_SVN_ROOT=D:svnrootbak
setBACKUP_DIRECTORY=%BACKUP_SVN_ROOT%%date:~0,10%
ifexist%BACKUP_DIRECTORY%gotocheckBack
echo建立備份目錄%BACKUP_DIRECTORY%>>%SVN_ROOT%backup.log
mkdir%BACKUP_DIRECTORY%
rem驗證目錄是否為版本庫,如果是則取出名稱備份
for/r%SVN_ROOT%%%Iin(.)do@ifexist"%%Iconfsvnserve.conf"%SVN_ROOT%simpleBackup.bat"%%~fI"%%~nI
gotoend
:checkBack
echo備份目錄%BACKUP_DIRECTORY%已經存在,請清空。
gotoend
:end
在使用的時候,只需要修改backup.bat開頭的三個路徑,將兩個腳本拷貝到“SVN_ROOT”下就可以了。根據以上的配置,你只需要運行backup.bat,就可以把“SVN_ROOT”下的版本庫都備份到“BACKUP_SVN_ROOT”里,并且存放在備份所在日的目錄里,例如“D:svnrootbak2006-10-22”。雖然這部分工作很簡單,可是必須有人定時地去執行這個操作(例如每周一凌晨)。為了避免發生遺忘的情況,我們可以將這個操作加入到系統的at任務當中去。例如還是上面的環境,為了安裝at任務,我們運行:
at1:00/every:MD:svnrootbackup.bat
這樣在每周一凌晨1:00都會執行這個備份過程。當然備份在本機也是不安全的,你也許需要上傳到別的機器,這個就要靠你自己去實現了。#p# 
2.增量備份
SVN使用手冊介紹一下增量備份。盡管完全備份非常簡單,但也是有代價的。當版本庫非常巨大時,經常進行完全備份是不現實,也是不必要的。但是一旦版本庫在備份之間發生問題,該怎么辦呢?這里我們就用到了增量備份。增量備份通常要與完全備份結合使用,就像Oracle數據庫的歸檔日志,記錄著每次Subversion提交的變化,然后在需要恢復時能夠回到***的可用狀態。在我們這個例子中我們使用的是svnadmindump命令進行增量的備份。使用方法是:svnadmindumpproject1--revision15--incremental>dumpfile2
上面的命令實現了對修訂版本15進行增量的備份,其中的輸出文件dumpfile2只保存了修訂版本15更改的內容。
為了記錄每次提交的結果,我們需要使用一項Subversion的特性——鉤子(hook)。
hooks目錄里存放的就是鉤子腳本。我們在此處只使用post-commit鉤子,這個鉤子會在每次提交之后執行。為了實現我們的備份功能,我們在hooks下建立一個文件post-commit.bat,內容如下:
echooff
setSVN_HOME="C:ProgramFilesSubversion"
setSVN_ROOT=D:svnroot
setUNIX_SVN_ROOT=D:/svnroot
setDELTA_BACKUP_SVN_ROOT=D:svnrootbakdelta
setLOG_FILE=%1backup.log
echobackuprevision%2>>%LOG_FILE%
for/r%SVN_ROOT%%%Iin(.)doifD:/svnroot/%%~nI==%1%SVN_ROOT%%%~nIhooksdeltaBackup.bat%%~nI%2(這里沒有看懂,請高手指點?)
gotoend
:end
通過這個腳本,可以實現D:svnroot下的版本庫提交時自動增量備份到D:svnrootbakdelta(確定這個目錄存在),其中使用的deltaBackup.bat其實可以放在任何地方,只是對腳本的svnadmindump的包裝,內容如下:
@echo正在備份版本庫%2......
%SVN_HOME%binsvnadmindump%SVN_ROOT%%1--incremental--revision%2>>%DELTA_BACKUP_SVN_ROOT%%1.dump
@echo版本庫%2成功備份到了%1!
以上兩個腳本可以直接拷貝到project2的hooks目錄下,不需要修改就可以實現project2的自動備份。
以上的操作已經OK了,現在需要做的是將完全備份和增量備份結合起來,也就是在完全備份后清理增量備份的結果,使之只保存完全備份后的結果。
當果真出現版本庫的故障,就要求我們實現版本庫的恢復操作了。這時要使用svnadminload命令,同時也需要上次的完全備份。例如要把上次完全備份backuprepo,和之后的增量備份dumpfile:
svnadminloadbackuprepo<dumpfile
***的結果可以下載svnroot.rar,將之解壓縮到d:下,然后修改幾個bat文件的SVN_HOME就可以使用了。
3.版本庫同步
SVN使用手冊中版本庫同步問題。Subversion1.4增加了同步機制,可以實現一個版本庫同另一個版本庫的同步(但好像只是單向的),我們可以用來實現版本庫的備份或鏡像。
3.1對目標庫初始化
svnsyncinitsvn://localhost/project2svn://localhost/project1
其中project2是目標的版本庫,而project1是源版本庫。其中的目標版本庫必須為空,而且必須允許修訂版本屬性的修改,也就是在目標的版本庫的hooks目錄里添加一個文件pre-revprop-change.bat,內容為空即可。
3.2同步project2到project1
svnsyncsyncsvn://localhost/project2
這時候你update一下你的project2的一個工作拷貝,就會發現有了project1的所有內容。如果project1又有提交,這時候project2的版本庫無法看到***的變化,還需要再運行一遍sync操作,這樣才能將***的變化同步。需要注意的是,目標版本庫只能做成只讀的,如果目標版本庫發生了變更,則無法繼續同步了。
3.3同步歷史屬性的修改
因為同步不會更新對歷史屬性的修改,所以svnsync還有子命令copy-revprops,可以同步某個版本的屬性。
3.4鉤子自動同步
希望在每次提交時同步,則需要在源版本庫增加post-commit腳本,內容如下:
echooff
setSVN_HOME="D:Subversion"
%SVN_HOME%binsvnsyncsync--non-interactivesvn://localhost/project2
把以上內容存放為post-commit.bat,然后放到版本庫project1下的hooks目錄下,這樣project1每次提交,都會引起project2的同步。本節介紹SVN使用手冊完畢,請關注本節其他相關報道。
 【編輯推薦】

  1. SVN使用手冊之入門篇
  2. SVN管理與應用相關的資料參考手冊
  3. ApacheSVN服務器安裝指導手冊
  4. Centos下SVN的安裝配置實用手冊
  5. SVN服務器安裝指導手冊
責任編輯:佚名
相關推薦

2010-05-26 14:01:47

SVN安裝使用手冊

2010-05-21 12:37:49

SVN使用教程

2010-05-26 12:35:11

2010-05-20 19:12:37

2010-05-26 12:59:48

SVN簡易使用手冊

2010-05-27 13:35:43

SVN簡易使用手冊

2010-05-26 13:17:55

SVN簡易使用手冊

2010-05-26 13:51:40

SVN安裝使用手冊

2010-05-19 10:57:34

Subversion配

2010-05-26 13:32:16

SVN簡易使用手冊

2010-05-27 13:08:46

SVN簡易使用手冊

2010-06-01 13:19:04

2010-05-19 10:40:46

Subversion

2010-05-17 14:53:16

Subversion使

2009-10-26 11:11:33

linux Emacs

2009-12-02 18:03:00

PHP cURL

2011-08-09 13:22:31

iPhoneSqlite數據庫

2010-08-31 08:59:06

marginHTML

2010-05-25 16:39:56

SVN中使用Git

2011-03-08 13:30:46

Xperf監控Windows性能
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 麻豆精品一区二区三区在线观看 | 天天射美女 | www.毛片 | 久久国产精品一区二区三区 | 天天影视亚洲综合网 | av毛片 | 亚洲在线 | 中文字幕欧美日韩 | 欧美淫片 | 视频一区二区中文字幕 | 最新国产精品 | 久久久久久免费观看 | 99久久99久久精品国产片果冰 | 久久www免费视频 | 亚洲精品一二三 | 国产精品福利在线 | 91精品久久久久久久久久小网站 | 99久久婷婷国产综合精品 | 欧美日韩一区二区视频在线观看 | 在线观看h视频 | 日韩有码一区 | 亚洲精品久久久蜜桃网站 | 韩日三级| 国产精品美女久久久久 | 国产女人与拘做受免费视频 | 亚洲精品在线观 | 国产高清精品一区二区三区 | 精品一区二区三区四区 | 国产精品一级在线观看 | 欧美综合一区二区三区 | 6080亚洲精品一区二区 | 国产欧美在线 | 毛片在线看片 | 欧美一区二区三区在线观看视频 | 久草网在线视频 | 国产高清自拍视频在线观看 | 99精品视频在线观看免费播放 | 91传媒在线观看 | 国产精品久久久久国产a级 欧美日本韩国一区二区 | 成人免费xxxxx在线视频 | 欧美一区精品 |