centos6.5下svn的使用說(shuō)明
linux下搭建svn服務(wù)器的文章已經(jīng)有很多了,這里僅記下自己最近使用的一些實(shí)踐之談,原理先不深究,供日后查閱用。
安裝:yum install subversion -y
,可用rpm -ql subversion
查看svn的安裝目錄,默認(rèn)在/usr/bin目錄下
創(chuàng)建版本庫(kù):
mkdir /path/to/repo svnadmin create /path/to/repo
創(chuàng)建好后目錄下會(huì)有conf db format hooks locks README.txt這些個(gè)文件(夾),
其中conf是配置文件信息關(guān)系到登錄賬號(hào)的問(wèn)題,hooks是鉤子文件會(huì)在服務(wù)器端執(zhí)行一些客戶端對(duì)應(yīng)動(dòng)作的響應(yīng)事件
配置用戶/開(kāi)發(fā)組信息
修改conf/passwd,直接在后面追加 username = passwd的字符串明文,這里的username是linux中存在的用戶名,
修改conf/svnserve.conf
,注釋掉那幾行使之生效,
anon-access,auth-access,passwd-db,realm,
同時(shí)修改anon-access = none,
這樣在客戶端才可以有讀日志文件的權(quán)限,方便查看不同版本的提交日志信息,
修改realm = /path/to/repo指定svn版本庫(kù)目錄。
到這里個(gè)人開(kāi)發(fā)的一個(gè)簡(jiǎn)單配置就完成了,這時(shí)候用svnserve -d -r /path/to/repo
就可以啟動(dòng)svn進(jìn)程然后就可以使用客戶端來(lái)連接svn://ip:port/repo使用了,這里默認(rèn)的端口是3690,
如果是想開(kāi)多個(gè)svn版本庫(kù)到別的目錄,只需要重復(fù)以上步驟至啟動(dòng)時(shí)指定不同的端口號(hào)即可,
比如使用3691端口啟動(dòng)一個(gè)新的svn版本庫(kù):svnserve -d --listen-port 3691 -r /path/to/repo
這樣在客戶端連接的時(shí)候url是svn://ip:3691/repo
開(kāi)發(fā)組配置
多user在同一個(gè)group開(kāi)發(fā)代碼,每個(gè)user去生成一個(gè)svn的版本庫(kù)然后指向同一個(gè)代碼目錄這個(gè)是很繁瑣而不符合規(guī)范的,
這個(gè)時(shí)候就用上了svn的成員組配置:
修改conf/authz文件,編輯:
# 添加 開(kāi)發(fā)用戶組groupName1 [groups] groupName1= userName1[,userName2,userName3...] # 添加開(kāi)發(fā)組對(duì)代碼目錄的讀寫(xiě)權(quán)限 [/path/to/repo] @groupName1 = rw
這里的userName1,userName2的用戶需是linux里的存在的用戶,且對(duì)應(yīng)的svn密碼已經(jīng)在conf/passwd中指定。
到這里就配置好一個(gè)組成員的配置了,經(jīng)測(cè)試是ok的.
post-commit鉤子配置
粗略的可以理解svn客戶端將修改信息以一定格式傳輸?shù)椒?wù)端保存在固定格式的文件里面,
svn up的時(shí)候再將這些文件里的信息生效到代碼目錄里。
我們有時(shí)候需要在服務(wù)端實(shí)時(shí)的看到代碼更新信息,這就用到了post-commit鉤子:
在客戶端commit的時(shí)候觸發(fā)服務(wù)端到/path/to/repo執(zhí)行svn up來(lái)更新文件,
同時(shí)減少日志文件的大小,防止服務(wù)端當(dāng)機(jī)后的日志損失。
到svn版本庫(kù)配置信息目錄,
cd hooks, cp post-commit.tmpl post-commit
編輯post-commit:注釋掉最后一行,添加
export LANG=en_US.UTF-8 /usr/bin/svn update --force /path/to/repo
到這里hook鉤子就配置好了,重啟svn進(jìn)程,即可看到客戶端commit后文件同步更新。
以上就是svn在centos下的簡(jiǎn)單使用實(shí)踐,應(yīng)對(duì)日常的開(kāi)發(fā)需求已經(jīng)足夠。
相關(guān)文章
詳解為新版Apache服務(wù)器開(kāi)啟HTTP/2支持的方法
這篇文章主要介紹了在Apache服務(wù)器中開(kāi)啟HTTP/2的方法,HTTP/2被稱為未來(lái)的新HTTP協(xié)議,需要的朋友可以參考下2015-12-12Ubuntu20.04 VNC 安裝與設(shè)置實(shí)現(xiàn)
這篇文章主要介紹了Ubuntu20.04 VNC 安裝與設(shè)置實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08Linux簡(jiǎn)介及最常用命令(簡(jiǎn)單易學(xué),但能解決95%以上的問(wèn)題)
這篇文章主要介紹了Linux簡(jiǎn)介及最常用命令(簡(jiǎn)單易學(xué),但能解決95%以上的問(wèn)題),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-08-08關(guān)于linux服務(wù)器下vsftpd的一些問(wèn)題
針對(duì)我自己本身出現(xiàn)的問(wèn)題,將高人與我的QQ聊天記錄整理了一份,然后再加上實(shí)際的操作.終于讓我大徹大悟.現(xiàn)在與大家狠狠的分享這位高人的成果.2010-06-06詳解Linux環(huán)境下NodeJS的安裝配置(HelloWorld)
本篇文章主要介紹了Linux環(huán)境下NodeJS的安裝配置,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01Linux通用java程序啟動(dòng)腳本代碼實(shí)例
這篇文章主要介紹了Linux通用java程序啟動(dòng)腳本代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05Ubuntu安裝和卸載CUDA和CUDNN的實(shí)現(xiàn)
這篇文章主要介紹了Ubuntu安裝和卸載CUDA和CUDNN的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08讓Apache 2支持.htaccess并實(shí)現(xiàn)目錄加密的方法
這篇文章主要介紹了讓Apache 2支持.htaccess并實(shí)現(xiàn)目錄加密的方法,文中給出了詳細(xì)的方法步驟,并給出了示例代碼,對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-02-02Apache Shiro 使用手冊(cè)(一) Shiro架構(gòu)介紹
Apache Shiro是一個(gè)強(qiáng)大易用的Java安全框架,提供了認(rèn)證、授權(quán)、加密和會(huì)話管理等功能2014-06-06安全檢測(cè)Unix和Linux服務(wù)器安全設(shè)置入門(mén)精講
盡管為服務(wù)器設(shè)計(jì)軟件的軟件工程師們想方設(shè)法提高系統(tǒng)的安全性,然而由于系統(tǒng)管理員的水平參差不齊或安全意識(shí)底下,往往給黑客提供了入侵的機(jī)會(huì)。2008-05-05