【4】在版本庫中創建目錄
前面第3節我們提到了使用svn list和svnlook tree命令來查看版本庫的目錄結構。但是我們并沒有講到這些目錄是如何創建并被添加上去的。現在我來演示一下這個過程:
對應于目錄創建的命令是svn mkdir,執行如下命令:
svn mkdir http://localhost:8000/svn/Workspace/Ericsson/ECoupon
-m "Create top folder for porject ECoupon"
此時SVN會提示你輸入用戶名和密碼,輸入正確的用戶名、密碼后即可以看到如下輸出:
Authentication realm: <http://localhost:8000> Subversion repositories
Password for 'Administrator': *******
Authentication realm: <http://localhost:8000> Subversion repositories
Username: qlinpen
Password for 'qlinpen': ********
Committed revision 3.
此時我們再次使用svnlook tree .查看版本庫的目錄樹:
C:\>svn list http://localhost:8000/svn/Workspace/Ericsson
ECoupon/
C:\>svnlook tree c:\Develop\MyRepository\Workspace Ericsson
Ericsson/
ECoupon/
可以看到ECoupon項目目錄已經被成功地創建。
svn mkdir命令即可以使用PATH作為參數,也可以使用URL作為參數。當使用PATH作為參數時會在本地新建一個目錄,但不會立即加入到版本控制,需使用svn add命令顯式地添加。如果是使用URL作為參數,則會立即在版本庫形成一次版本而立刻執行,此時SVN要求用戶必須顯式地添加操作日志(通過-m 日志信息來說明)
我們可以在svn mkdir命令中使用--parents參數來連續創建多個父-子關系的目錄。如:
C:\>svn mkdir E:\Temp\ECoupon\parent\childen --parents
A E:\Temp\ECoupon\parent
A E:\Temp\ECoupon\parent\childen
當我們使用了--parents參數后,將不需要手工多次調用svn mkdir命令而可以一次性創建多個目錄了
【5】為項目添加版本控制功能
在創建完目錄之后,接下來就可以為項目添加版本控制功能了,為一個項目添加版本控制功能一般來說需要兩個步驟:
A.Import本地項目到版本庫對應路徑下
B.Check out版本庫項目到本地路徑
這是兩個相反的操作,我們需要記得的一點就是:
把項目import到版本庫之后,項目并不會立即就被加入到版本控制中,還需要再從版本庫中check out到本地原有位置才是真正地吧項目加入到版本控制。這一點和TCP/IP協議的三次握手過程類似。必須確保雙方都知道對方的存在和聯系。
下面我們在本地的E:\Temp目錄下新建一個名為ECoupon的空目錄(注意要和版本庫上面的名字一樣),然后把該目錄下的所有內容import到版本庫的對應路徑下:
E:\Temp>svn import ECoupon http://localhost:8000/svn/Workspace/Ericsson/ECoupon -m "import project ECoupon"
我們看到執行該命令后DOS客戶端沒有任何輸出,這表明import成功。接下來我們再從版本庫check out到本地:
E:\Temp>svn checkout http://localhost:8000/svn/Workspace/Ericsson/ECoupon ECoupon
Checked out revision 3.
這次我們看到控制臺輸出了“check out revision 3”,這說明SVN已經成功把項目加入到版本控制中了。此時本地E:\Temp\ECoupon目錄下依然看起來沒有特別,但實際上在該項目根目錄下有一個隱藏的叫做“.svn”的目錄。該目錄的作用是:
A.維護當前目錄下各個資源和版本庫的關聯
B.存儲了每次本地的修改,用于以后的比較和恢復
好!只需要兩步我們就可以輕松地實現為項目添加版本控制的功能了~。關于import和checkout命令,我們還有幾個要注意的地方:
A.當執行import命令時,操作將從源路徑的下一級目錄開始。也就是說假如我們import的是E:\Temp\ECoupon目錄,那么將只有ECouopn目錄下的內容會被import,而不包括ECoupon目錄本身,所以我們在import時都必須先在目標路徑建立好頂層目錄。而checkout則會把項目頂層目錄一同checkout出來
B.checkout命令可以一次檢出多個項目,例如執行:svn checkout URL1 URL2 ... URLn PATH 命令將會分別把這幾個URL代表的項目檢出到PATH目錄下
E:\Temp>svn checkout http://localhost:8000/svn/Workspace/Ericsson/ECoupon http://localhost:8000/svn/Workspace/Ericsson/Newsletter
Checked out revision 5.
Checked out revision 5.
C.checkout命令如果不指定目標路徑,將默認檢出到當前路徑
-------------------------------------------------------------
生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
posted on 2009-12-07 16:37
Paul Lin 閱讀(415)
評論(0) 編輯 收藏 所屬分類:
項目管理