① 急!關於linux下的svn問題: 假設我建立了工作目錄svn,使用svn import 提交不同的文件夾問題如下:
我估計你是在創建版本庫的時候,用的是這個指令:
svnadmin create file:///**/svn
也就是說,你在創建版本庫的時候,是將svn這個文件夾作為了一個版本庫,那麼隨後的test1、test2都只是這個版本庫下的一個文件夾而已。而SVN是將整個版本庫的版本號統一編號的,不論是版本庫中的哪個文件夾、哪個文件有變化,整體版本號都會加1,所以就出現了你遇到的情況。
你如果希望test1、test2是兩個獨立的版本庫的話,你應該執行兩個svnadmin create,為test1、test2分別建庫。
② linux SVN版本庫與項目管理方式
推薦一個項目建立一個版本庫,這樣後續管理比較方便
要執行回滾操作的專話,當然是一屬個項目一個版本庫方便了,不會影響其它項目
要移植版本庫的話,也是每個項目單獨建庫更方便,可以靈活控制哪個項目要移到其它的伺服器上。要人為把一個版本庫中的多個項目拆分開,那是極其麻煩痛苦的事情。
要為每個項目單獨建庫其實也很簡單,只要用好「父版本庫」就行了,配置好SVN伺服器後,以後每次新建庫都不必再修改配置文件,直接就能用。、
推薦使用Collabnet的SVN伺服器端,尤其是最新的Edge版,基本安裝完就能用,不需要復雜的配置,而且支持多個項目,還是免費的。
③ linux如何啟用svn的版本庫
1、Linux系統安裝svn服務
#yuminstallsubversion
2、新建一個目錄用於存儲SVN所有文件
#mkdir-p/cbroot/svnserver/cbweb
3、在上面創建的文件夾中為項目project_1,創建一個版本倉庫
#svnadmincreate/cbroot/svnserver/cbweb/trunk
4、為項目配置許可權
①svnserve.conf是主配置文件
vim/cbroot/svnserver/cbweb/trunk/conf/svnserve.conf
anon-access=none#匿名可讀
auth-access=write#驗證用戶可讀寫
password-db=passwd#指向驗證用戶名密碼的數據文件passwd
auth-db=authz#指向驗證用戶的許可權配置文件authz
注意:每一行前方不能有空格,否則會出現Optionexpected錯誤!
②passwd用戶名密碼配置文件
vim/cbroot/svnserver/cbweb/trunk/conf/passwd
[users]
=123456
=123456
③authz用戶許可權配置文件
[groups]
trunk=,
[/]
@trunk=rw#定義群組managers有讀寫許可權
manager3=r#定義manager3有讀許可權
*=#以上沒有定義的用戶都沒有任何許可權
5、啟動SVN伺服器上面的版本庫cbweb
svnserve-d-r/cbroot/svnserver/cbweb/
###啟動多個svn服務
svnserve-d–listen-port3688-r/static/
④ linux svn 版本差異
1 svn diff的用法
1.1 對比當前本地的工作拷貝文件(working )和緩存在.svn下的版本庫文件的區別
[plain]view plain
svndiff
1.2 對比當前本地的工作拷貝文件(working )和任意版本A的差異
[plain]view plain
svndiff-rA
比如,以下將對比本地的工作拷貝文件(working )和版本94239的差異
[cpp]view plain
svndiff-r94239
1.3 對比任意歷史版本A和任意歷史版本B的差異
[plain]view plain
svndiff-rA:B
比如,以下命令將顯示版本94127相對於版本94239的差異,
[plain]view plain
[@user]$svndiff-r94239:94127
顯示差異後的結果如下,
[html]view plain
===================================================================
---RealServer/LogicWorker.cpp(revision94239)
+++RealServer/LogicWorker.cpp(revision94127)
@@-964,22+964,8@@
.......
其中r後面的參數的含義是版本號,具體可以在svn log中查詢到。
2 svn log的用法
1.1在任意位置使用
[plain]view plain
svnlogur1
1.2 進入代碼在本地的目錄後使用
[plain]view plain
svnlog
3 svn merge的用法
[plain]view plain
svnmerge-rA:B
比如,下面這個命令的含義是,把94127版本相對於94239版本的差異merge到當前版本,注意冒號前後的版本的順序是會帶來區別的。
[html]view plain
svnmerge-r94239:94127
merge完成之後,記得提交本地的修改到版本庫,
[plain]view plain
svnci-m"restoretoversion94127"
⑤ svn 工具版本如何查看
客戶端:右鍵->關於->版本信息
伺服器:cmd->cd 安裝目錄/bin->svn --version
linux查看同上。
⑥ 怎麼在linux下查看svn版本
查看軟體版本:svn --version
查看文件或目錄狀態:
svn status -v path(顯示文件和子目錄狀態)
第一列版保持相同,權第二列顯示工作版本號,第三和第四列顯示最後一次修改的版本號和修改人。
註:svn status、svn diff和 svn revert這三條命令在沒有網路的情況下也可以執行的,原因是svn在本地的.svn中保留了本地版本的原始拷貝。
簡寫:svn st
如果有什麼Linux問題的話,建議先網路一下,或者加入一些Linux論壇社區、群等,一般會有很多人幫助你的,建議你去「Linux就該這么學」看看,蠻不錯的一個站。
⑦ linux svn 怎麼checkout到某個版本
查看軟體版本:svn --version 查看文件或目錄狀態: svn status -v path(顯示文件和子目錄狀態) 第一列保持相同,第二列顯示工作版本號,第三和第四列顯示最後一次修改的版本號和修改人。