當前位置:首頁 » 操作系統 » linux下的svn

linux下的svn

發布時間: 2022-10-05 12:24:27

『壹』 linux裡面怎麼搭建SVN

SVN是Subversion的簡稱,是一個開放源代碼的版本控制系統,相較於RCS、CVS,它採用了分支管理系統,它的設計目標就是取代CVS。互聯網上很多版本控制服務已從CVS遷移到Subversion。說得簡單一點SVN就是用於多個人共同開發同一個項目,共用資源的目的.

Linux上部署4個項目的svn操作步驟:搭建SVN

[[email protected] ~]# yum -y install subversion

[[email protected] ~]# svnserve --version

svnserve, version 1.6.11 (r934486)

......
[[email protected] ~]# mkdir -p /a/svn/

[[email protected] ~]# mkdir /a/passwd

[[email protected] ~]# svnserve -d -r /a/svn

[[email protected] ~]# svnadmin create /a/svn/repo1

[[email protected] ~]# svnadmin create /a/svn/repo2

[[email protected] ~]# cp /a/svn/repo1/conf/passwd /a/passwd/

[[email protected] ~]# cp /a/svn/repo1/conf/authz /a/passwd/

[[email protected] ~]# vim /a/svn/repo1/conf/svnserve.conf

[general]

anon-access=none

auth-access=write

password-db = /a/passwd/passwd

authz-db = /a/passwd/authz

realm=1111111111111111

[[email protected] ~]# mv /a/svn/repo2/conf/svnserve.conf

/a/svn/repo2/conf/svnserve.conf.bak

[[email protected] ~]# mv /a/svn/repo3/conf/svnserve.conf

/a/svn/repo3/conf/svnserve.conf.bak

[[email protected] ~]# mv /a/svn/repo4/conf/svnserve.conf

/a/svn/repo4/conf/svnserve.conf.bak

[[email protected] ~]# cp /a/svn/repo1/conf/svnserve.conf

/a/svn/repo2/conf/svnserve.conf

[[email protected] ~]# cp /a/svn/repo1/conf/svnserve.conf

/a/svn/repo3/conf/svnserve.conf

[[email protected] ~]# cp /a/svn/repo1/conf/svnserve.conf

/a/svn/repo4/conf/svnserve.conf

[[email protected] ~]# vim /a/passwd/passwd

[users]

chen=chen123

lu=lu123

zhang=zhang123

wang=wang123

hua=hua123

dong=dong123

[[email protected] ~]# vim /a/passwd/authz

[groups]

java=chen,lu,zhang

ios=wang

web=hua

jishu=dong

[repo1:/]

@java=rw

[repo2:/]

@ios=rw

[repo3:/]

@web=rw

[repo4:/]

@jishu=rw

[[email protected] conf]# chmod 700 /a/passwd/*

[[email protected] ~]# pkill svnserve

[[email protected] ~]# ps -ef |grep svn

root 2405 2106 0 18:59 pts/1 00:00:00 grep svn

[[email protected] ~]# svnserve -d -r /a/svn/

[[email protected] ~]# ps -ef |grep svn

root 2411 1 0 19:00 ? 00:00:00 svnserve -d -r /a/svn/

root 2413 2106 0 19:00 pts/1 00:00:00 grep svn

『貳』 linux 下如何啟動SVN服務

先轉到SVN的安裝目錄,比如,你安裝在/home/svn 下面。然後轉到bin目錄下,在這里可以看見一個叫svnserve的文件,我們需要用這個來啟動SVN服務。

『叄』 linux下svn怎麼配置路徑許可權

Linux 下可以直接通過如下命令直接獲取svn server:(我使用的伺服器系統為Debian 7.5 穩定版)
apt-get install subversion

安裝完成後,可通過svnserve --version 查看安裝的版本,我所使用的svn server 版本為1.6.17:

二、創建代碼庫
創建庫(以test庫為例):
sudo svnadmin create /home/user/svn/test

這樣,一個簡單的代碼倉庫就創建完成了。
接下來啟動svn服務:
svnserve -d -r /home/user/svn/test

然後client端就可以通過「svn://ip.ip.ip.ip/test」來訪問svn了。

『肆』 linux 下的svn是什麼意思

svn有兩種存儲方式:BDB和FSFS,目前用的最多的是FSFS方式,這種方式的話,一般是存儲在\db\revs文件夾下,裡面有一堆以版本號命名的文件,如:0、1、2、3、4......,那個就是了。

svn先把0版本的狀態壓縮成1個文件,然後每次版本更新時就針對變動的部分做一個壓縮文件,每次都是增加一個增量包,最後在伺服器上能看到文件名為從0開始到最終版本的一系列文件

『伍』 在linux下查詢/關閉/啟動svn服務進程

查詢SVN服務進程號

# ps -ef|grep svnserve

查出SVN服務進程後,如果要關閉SVN服務,使用如下命令

# kill 進程號

如果要啟動SVN服務,使用如下命令

# svnserve -d -r /data/svn

其中/data/svn為SVN版本庫所在的路徑

『陸』 在linux下如何下載svn上的文件

  • linux下載svn客戶端就可以使用命令下載文件。
    1、將文件checkout到本地目錄
    svn checkout path(path是伺服器上的目錄)
    例如:svn checkout svn://192.168.1.1/pro/domain
    簡寫:svn co
    2、往版本庫中添加新的文件
    svn add file
    例如:svn add test.php(添加test.php)
    svn add *.php(添加當前目錄下所有的php文件)
    3、將改動的文件提交到版本庫
    svn commit -m 「LogMessage「 [-N] [--no-unlock] PATH(如果選擇了保持鎖,就使用–no-unlock開關)
    例如:svn commit -m 「add test file for my test「 test.php
    簡寫:svn ci
    4、加鎖/解鎖
    svn lock -m 「LockMessage「 [--force] PATH
    例如:svn lock -m 「lock test file「 test.php
    svn unlock PATH
    5、更新到某個版本
    svn update -r m path
    例如:
    svn update如果後面沒有目錄,默認將當前目錄以及子目錄下的所有文件都更新到最新版本。
    svn update -r 200 test.php(將版本庫中的文件test.php還原到版本200)
    svn update test.php(更新,於版本庫同步。如果在提交的時候提示過期的話,是因為沖突,需要先update,修改文件,然後清除svn resolved,最後再提交commit)
    簡寫:svn up
    6、查看文件或者目錄狀態
    1)svn status path(目錄下的文件和子目錄的狀態,正常狀態不顯示)
    【?:不在svn的控制中;M:內容被修改;C:發生沖突;A:預定加入到版本庫;K:被鎖定】
    2)svn status -v path(顯示文件和子目錄狀態)
    第一列保持相同,第二列顯示工作版本號,第三和第四列顯示最後一次修改的版本號和修改人。
    註:svn status、svn diff和 svn revert這三條命令在沒有網路的情況下也可以執行的,原因是svn在本地的.svn中保留了本地版本的原始拷貝。
    簡寫:svn st
    7、刪除文件
    svn delete path -m 「delete test fle「
    例如:svn delete svn://192.168.1.1/pro/domain/test.php -m 「delete test file」
    或者直接svn delete test.php 然後再svn ci -m 『delete test file『,推薦使用這種
    簡寫:svn (del, remove, rm)
    8、查看日誌
    svn log path
    例如:svn log test.php 顯示這個文件的所有修改記錄,及其版本號的變化
    9、查看文件詳細信息
    svn info path
    例如:svn info test.php
    10、比較差異
    svn diff path(將修改的文件與基礎版本比較)
    例如:svn diff test.php
    svn diff -r m:n path(對版本m和版本n比較差異)
    例如:svn diff -r 200:201 test.php
    簡寫:svn di
    11、將兩個版本之間的差異合並到當前文件
    svn merge -r m:n path
    例如:svn merge -r 200:205 test.php(將版本200與205之間的差異合並到當前文件,但是一般都會產生沖突,需要處理一下)
    12、SVN 幫助
    svn help
    svn help ci
    ——————————————————————————
    以上是常用命令,下面寫幾個不經常用的
    ——————————————————————————
    13、版本庫下的文件和目錄列表
    svn list path
    顯示path目錄下的所有屬於版本庫的文件和目錄
    簡寫:svn ls
    14、創建納入版本控制下的新目錄
    svn mkdir: 創建納入版本控制下的新目錄。
    用法: 1、mkdir PATH…
    2、mkdir URL…
    創建版本控制的目錄。
    1、每一個以工作副本 PATH 指定的目錄,都會創建在本地端,並且加入新增
    調度,以待下一次的提交。
    2、每個以URL指定的目錄,都會透過立即提交於倉庫中創建。
    在這兩個情況下,所有的中間目錄都必須事先存在。
    15、恢復本地修改
    svn revert: 恢復原始未改變的工作副本文件 (恢復大部份的本地修改)。revert:
    用法: revert PATH…
    注意: 本子命令不會存取網路,並且會解除沖突的狀況。但是它不會恢復
    被刪除的目錄
    16、代碼庫URL變更
    svn switch (sw): 更新工作副本至不同的URL。
    用法: 1、switch URL [PATH]
    2、switch –relocate FROM TO [PATH...]
    1、更新你的工作副本,映射到一個新的URL,其行為跟「svn update」很像,也會將
    伺服器上文件與本地文件合並。這是將工作副本對應到同一倉庫中某個分支或者標記的
    方法。
    2、改寫工作副本的URL元數據,以反映單純的URL上的改變。當倉庫的根URL變動
    (比如方案名或是主機名稱變動),但是工作副本仍舊對映到同一倉庫的同一目錄時使用
    這個命令更新工作副本與倉庫的對應關系。
    17、解決沖突
    svn resolved: 移除工作副本的目錄或文件的「沖突」狀態。
    用法: resolved PATH…
    注意: 本子命令不會依語法來解決沖突或是移除沖突標記;它只是移除沖突的
    相關文件,然後讓 PATH 可以再次提交。

『柒』 Linux中svn伺服器安裝與使用

直接開放svnserve的埠就可以了,默認埠是3690

如果selinux開啟了,它會阻止文件的寫入,從倉庫中拉去正常,但上傳的時候會出現 不能打開文件"***/db/txn-current-lock"許可權不夠

如果出現semanage未定義,可以參考 CentOS7 中安裝semanage來設置selinux

倉庫目錄為 /home/svn/test ,如果要刪除版本倉庫直接刪除目錄就可以了 rm -rf /home/svn/test

在倉庫目錄 /home/svn/test 的 conf 目錄中會有三個文件

修改配置

修改配置添加賬號密碼,以 賬號=密碼 的格式配置, = 號二邊盡量不要存在空格

許可權管理分為組管理和目錄許可權管理

多個創建可以共用一套賬號和密碼許可權管理。也可以用不同的賬號密碼管理,如果用不同的配置少單倉庫類似,修改每個倉庫conf下的賬號和許可權文件就可以了。下面說一下共用賬號許可權文件的情況。

在倉庫目錄 /home/svn 目錄中創建authz文件和passwd文件。

修改配置各倉庫下conf/svnserve.conf。將password-db和authz-db指向/home/svn/目錄下的文件

修改/home/svn/passwd配置添加賬號密碼,以 賬號=密碼 的格式配置, = 號二邊盡量不要存在空格

修改/home/svn/authz許可權管理分為組管理和目錄許可權管理

如果單倉庫以/home/svn啟動,此時訪問的地址會有倉庫名。 svn://ip/test

訪問地址分別為:

編輯 /etc/sysconfig/svnserve 文件,修改 OPTIONS="-r /var/svn" 參數改為svn倉庫目錄 OPTIONS="-r /home/svn"

設置開機啟動

修改後也可以用systemctl來啟動、停止、重啟

svnserve啟動後,修改authz和passwd文件是時實生效的,並不需要重啟服務

有時隨著倉庫越來越多,許可權配置也越來越多時,會出現一些配置錯誤,導致訪問時出現無法載入許可權驗證之前的錯誤,這個時候我們可以將svn伺服器的日誌列印出來,看些配置出錯了。

停止svn伺服器,重新附加log-file參數輸入日誌到指定文件

『捌』 linux下怎麼查看svn目錄

1、首先,連接相應linux主機,進入到linux命令行狀態下,等待輸入shell指令。

『玖』 linux 下如何啟動SVN服務。

先轉到SVN的安裝目錄,比如,你安裝在/home/svn 下面。然後轉到bin目錄下,在這里可以看見一個叫svnserve的文件,我們需要用這個來啟動SVN服務。

『拾』 如何在linux下搭建svn服務

1,首先安裝好LINUX系統,然後YUM安裝:

#yum -y install svnversion

2,安全完成之後我們來配置:

創建版本庫目錄:

#mkdir -p /banbenku/svn/

3,然後啟用:

#svnserve -d -r /banbenku/svn

然後查看是否啟動了!

ps -ef|grep svn;

[[email protected] conf]# lsof -i:3690

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

svnserve 8454 root 3u IPv4 1346200 0t0 TCP *:svn (LISTEN)

4,然後我們來新建版本:

mkdir -p /banbenku/svn/zhoujie/

cd /banbenku/svn/zhoujie/conf

在這里有三個文件:authz passwd svnserve.conf

svnserve.conf是主要配置文件;

vi svnserve.conf

修改如下:

anon-access = read

auth-access = write

password-db = /banbenku/svn/zhoujie/conf/passwd

authz-db = /banbenku/svn/zhoujie/conf/authz

wq!

保存退出:

然後修改passwd:

建立用戶名與密碼內容如下:

zhoujie = 123456

wq

保有存退出:

然後修改:authz:

內容如下:

[groups]

admin = zhoujie

[zhoujie:/]

@admin =rw

wq

保存退出!

這樣我們便配置好了;要使用啟生效,重啟SVN:

ps -ef|grep svn

kill -9 PID

svnserve -d -r /banbenku/svn

然後再檢測:

[[email protected] conf]# lsof -i:3690

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

svnserve 8454 root 3u IPv4 1346200 0t0 TCP *:svn (LISTEN)

如果如上所示,那便沒有問題了;

熱點內容
監控腳本實用 發布:2022-11-30 14:14:28 瀏覽:376
九陰真經顯血腳本 發布:2022-11-30 14:14:22 瀏覽:195
浪潮伺服器mgn口地址 發布:2022-11-30 14:13:41 瀏覽:818
linux鎖屏設置 發布:2022-11-30 14:08:20 瀏覽:894
演算法轉讓 發布:2022-11-30 14:07:24 瀏覽:22
我的世界為什麼從伺服器斷開連接 發布:2022-11-30 14:07:04 瀏覽:427
怎麼擠出母乳存儲袋中的空氣 發布:2022-11-30 14:05:32 瀏覽:31
linuxbin文件 發布:2022-11-30 14:01:19 瀏覽:479
購物網站源碼php 發布:2022-11-30 13:58:15 瀏覽:472
python執行java 發布:2022-11-30 13:56:23 瀏覽:940