SVN的标准目录结构:trunk、branches、tags
為什么80%的碼農都做不了架構師?>>> ??
我們在一些著名開源項目的版本庫中,通常可以看到trunk, branches, tags等三個目錄。由于SVN固有的特點,目錄在SVN中并沒有特別的意義,但是這三個目錄卻在大多數開源項目中存在,這是因為這三個目錄反映了軟件開發的通常模式。
trunk是主分支,是日常開發進行的地方。
branches是分支。一些階段性的release版本,這些版本是可以繼續進行開發和維護的,則放在branches目錄中。又比如為不同用戶客制化的版本,也可以放在分支中進行開發。
tags目錄一般是只讀的,這里存儲階段性的發布版本,只是作為一個里程碑的版本進行存檔。
比如一個項目有main.cpp, common.h兩個文件,假設目前在開發的是最新的3.0版本,而且1.0/2.0版本也在進行維護,那么項目樹將類似如下樣子:
project
? |
? +-- trunk
? +???? |
? +???? +----- main.cpp? (3.0版本的最新文件)
? +???? +----- common.h
? +
? +-- branches
? +???? |
? +???? +-- r1.0
? +???? +???? |
? +???? +???? +---- main.cpp (1.x版本的最新文件)
? +???? +???? +---- common.h?
? +???? +
? +???? +-- r2.0
? +???? ? ??? |
? +???? ? ??? +---- main.cpp (2.x版本的最新文件)
? +????? ? ?? +---- common.h
? +??????
? +-- tags?? (此目錄只讀)
??????? |
? ? ??? +-- r1.0
? ? ??? +???? |
? ? ??? +???? +---- main.cpp (1.0版本的發布文件)
? ? ??? +???? +---- common.h?
? ? ??? +
? ? ??? +-- r1.1
? ? ??? + ??? |
? ? ??? + ??? +---- main.cpp (1.1版本的發布文件)
? ? ??? +? ?? +---- common.h
??????? +
? ? ??? +-- r1.2
? ? ??? +???? |
? ? ??? +???? +---- main.cpp (1.2版本的發布文件)
? ? ??? +???? +---- common.h?
? ? ??? +
? ? ??? +-- r1.3
? ? ??? + ??? |
? ? ??? + ??? +---- main.cpp (1.3版本的發布文件)
? ? ??? +? ?? +---- common.h
??????? +
? ? ??? +-- r2.0
? ? ??? +???? |
? ? ??? +???? +---- main.cpp (2.0版本的發布文件)
? ? ??? +???? +---- common.h?
? ? ??? +
? ? ??? +-- r2.1
? ? ??? ? ??? |
? ? ???? ? ?? +---- main.cpp (2.1版本的發布文件)
? ? ?????? ?? +---- common.h
要使用這樣的文件夾結構,在建立項目版本庫時,可首先建好項目文件夾,并在其中建立trunk, branches, tags三個空的子目錄,再將項目文件夾連同這三個子目錄一起導入版本庫。
這樣在trunk中開始進行開發,當需要建立branch或tag時,使用SVN的copy操作進行。
其中tags目錄需要只讀,可以使用SVN中的authz文件控制該目錄的訪問權限為只讀。
轉載于:https://my.oschina.net/zhxm/blog/734605
總結
以上是生活随笔為你收集整理的SVN的标准目录结构:trunk、branches、tags的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Eclipse中Maven的安装
- 下一篇: elasticsearch导入数据的几种