亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Linux 搭建SVN 服務(wù)器

系統(tǒng) 2229 0

. SVN 簡(jiǎn)介

Subversion(SVN) 是一個(gè)開源的版本控制系統(tǒng) , 也就是說(shuō) Subversion 管理著隨時(shí)間改變的數(shù)據(jù)。 這些數(shù)據(jù)放置在一個(gè)中央資料檔案庫(kù) (repository) 中。 這個(gè)檔案庫(kù)很像一個(gè)普通的文件服務(wù)器 , 不過它會(huì)記住每一次文件的變動(dòng)。 這樣你就可以把檔案恢復(fù)到舊的版本 , 或是瀏覽文件的變動(dòng)歷史。

SVN 中的一些概念 :

1 . repository (源代碼庫(kù))

源代碼統(tǒng)一存放的地方

2 . Checkout (提取)

當(dāng)你手上沒有源代碼的時(shí)候,你需要從 repository checkout 一份

3 . Commit (提交)

當(dāng)你已經(jīng)修改了代碼,你就需要 Commit repository

4 . Update ( 更新 )

當(dāng)你已經(jīng) Checkout 了一份源代碼, Update 一下你就可以和 Repository 上的源代碼同步,你手上的代碼就會(huì)有最新的變更

日常開發(fā)過程其實(shí)就是這樣的(假設(shè)你已經(jīng) Checkout 并且已經(jīng)工作了幾天): Update( 獲得最新的代碼 ) --> 作出自己的修改并調(diào)試成功 --> Commit( 大家就可以看到你的修改了 )

如果兩個(gè)程序員同時(shí)修改了同一個(gè)文件呢 , SVN 可以合并這兩個(gè)程序員的改動(dòng),實(shí)際上 SVN 管理源代碼是以行為單位的,就是說(shuō)兩個(gè)程序員只要不是修改了同一行程序, SVN 都會(huì)自動(dòng)合并兩種修改。如果是同一行, SVN 會(huì)提示文件 Confict, 沖突,需要手動(dòng)確認(rèn)。

客戶端軟件:

1 Windows 下常用的客戶端軟件常用 TortoiseSVN 。它是一個(gè)免費(fèi)的開源的客戶端。 下載地址: http://tortoisesvn.net/downloads.html

2 )向 Myeclipse ,也有一些 SVN 的插件。

Subversion 提供以下主要功能:

1 )目錄版本控制

CVS 只能跟蹤單個(gè)文件的歷史 , 不過 Subversion 實(shí)作了一個(gè) “虛擬” 的版本控管文件系統(tǒng) , 能夠依時(shí)間跟蹤整個(gè)目錄的變動(dòng)。 目錄和文件都能進(jìn)行版本控制。

2 )真實(shí)的版本歷史

自從 CVS 限制了文件的版本記錄, CVS 并不支持那些可能發(fā)生在文件上,但會(huì)影響所在目錄內(nèi)容的操作,如同復(fù)制和重命名。除此之外,在 CVS 里你不能用擁有同樣名字但是沒有繼承老版本歷史或者根本沒有關(guān)系的文件替換一個(gè)已經(jīng)納入系統(tǒng)的文件。在 Subversion 中,你可以增加( add )、刪除( delete )、復(fù)制( copy )和重命名( rename ),無(wú)論是文件還是目錄。所有的新加的文件都從一個(gè)新的、干凈的版本開始。

3 )自動(dòng)提交

一個(gè)提交動(dòng)作,不是全部更新到了檔案庫(kù)中,就是完全不更新。這允許開發(fā)人員以邏輯區(qū)間建立并提交變動(dòng),以防止當(dāng)部分提交成功時(shí)出現(xiàn)的問題。

4 )納入版本控管的元數(shù)據(jù)

每一個(gè)文件與目錄都附有一組屬性關(guān)鍵字并和屬性值相關(guān)聯(lián)。你可以創(chuàng)建 , 并儲(chǔ)存任何你想要的 Key/Value 對(duì)。 屬性是隨著時(shí)間來(lái)作版本控管的 , 就像文件內(nèi)容一樣。

5 )選擇不同的網(wǎng)絡(luò)層

Subversion 有抽象的檔案庫(kù)存取概念 , 可以讓人很容易地實(shí)作新的網(wǎng)絡(luò)機(jī)制。 Subversion 可以作為一個(gè)擴(kuò)展模塊嵌入到 Apache HTTP 服務(wù)器中。這個(gè)為 Subversion 提供了非常先進(jìn)的穩(wěn)定性和協(xié)同工作能力,除此之外還提供了許多重要功能 : 舉例來(lái)說(shuō) , 有身份認(rèn)證 , 授權(quán) , 在線壓縮 , 以及文件庫(kù)瀏覽等等。還有一個(gè)輕量級(jí)的獨(dú)立 Subversion 服務(wù)器, 使用的是自定義的通信協(xié)議 , 可以很容易地通過 ssh tunnel 方式使用。

6 )一致的數(shù)據(jù)處理方式

Subversion 使用二進(jìn)制差異算法來(lái)異表示文件的差異 , 它對(duì)文字 ( 人類可理解的 ) 與二進(jìn)制文件 ( 人類無(wú)法理解的 ) 兩類的文件都一視同仁。 這兩類的文件都同樣地以壓縮形式儲(chǔ)存在檔案庫(kù)中 , 而且文件差異是以兩個(gè)方向在網(wǎng)絡(luò)上傳輸?shù)摹?

7 )有效的分支 (branch) 與標(biāo)簽 (tag)

在分支與標(biāo)簽上的消耗并不必一定要與項(xiàng)目大小成正比。 Subversion 建立分支與標(biāo)簽的方法 , 就只是復(fù)制該項(xiàng)目 , 使用的方法就類似于硬連接( hard-link )。 所以這些操作只會(huì)花費(fèi)很小 , 而且是固定的時(shí)間。

8 Hackability

Subversion 沒有任何的歷史包袱 ; 它主要是一群共用的 C 程序庫(kù) , 具有定義完善的 API 。這使得 Subversion 便于維護(hù) , 并且可被其它應(yīng)用程序與程序語(yǔ)言使用。

. SVN 服務(wù)器搭建

2.1 使用 yum 安裝 SVN

關(guān)于 YUM 服務(wù)器的配置參考:

Linux 搭建 YUM 服務(wù)器

http://blog.csdn.net/tianlesoftware/archive/2011/01/03/6113902.aspx

[root@singledb ~]# yum install -y subversion

Loaded plugins: rhnplugin, security

This system is not registered with RHN.

RHN support will be disabled.

Setting up Install Process

Resolving Dependencies

--> Running transaction check

---> Package subversion.i386 0:1.4.2-4.el5_3.1 set to be updated

--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================

Package Arch Version Repository Size

====================================================================================================

Installing:

subversion i386 1.4.2-4.el5_3.1 rhel-base 2.3 M

Transaction Summary

====================================================================================================

Install 1 Package(s)

Update 0 Package(s)

Remove 0 Package(s)

Total download size: 2.3 M

Downloading Packages:

subversion-1.4.2-4.el5_3.1.i386.rpm | 2.3 MB 00:00

Running rpm_check_debug

Running Transaction Test

Finished Transaction Test

Transaction Test Succeeded

Running Transaction

Installing : subversion 1/1

Installed:

subversion.i386 0:1.4.2-4.el5_3.1

Complete!

[root@singledb ~]#

驗(yàn)證安裝版本:

[root@singledb ~]# svnserve --version

svnserve, version 1.4.2 (r22196)

compiled Aug 5 2009, 19:03:56

Copyright (C) 2000-2006 CollabNet.

Subversion is open source software, see http://subversion.tigris.org/

This product includes software developed by CollabNet (http://www.Collab.Net/).

The following repository back-end (FS) modules are available:

* fs_base : Module for working with a Berkeley DB repository.

* fs_fs : Module for working with a plain file (FSFS) repository.

2.2 創(chuàng)建 SVN 版本庫(kù)

[root@singledb ~]# mkdir /u02/svn

[root@singledb ~]# svnadmin create /u02/svn/davesvn --davesvn 為版本庫(kù)名稱

2.3 SVN 配置

創(chuàng)建版本庫(kù)后,在這個(gè)目錄下會(huì)生成 3 個(gè)配置文件:

[root@singledb conf]# pwd

/u02/svn/davesvn/conf

[root@singledb conf]# ls

authz passwd svnserve.conf

1 svnserve.conf svn 服務(wù)配置文件下。

2 passwd 用戶名口令文件。

3 authz 權(quán)限配置文件。

svnserve.conf 文件, 該文件配置項(xiàng)分為以下 5 項(xiàng):

anon-access 控制非鑒權(quán)用戶訪問版本庫(kù)的權(quán)限。

auth-access 控制鑒權(quán)用戶訪問版本庫(kù)的權(quán)限。

password-db 指定用戶名口令文件名。

authz-db :指定權(quán)限配置文件名,通過該文件可以實(shí)現(xiàn)以路徑為基礎(chǔ)的訪問控制。

realm :指定版本庫(kù)的認(rèn)證域,即在登錄時(shí)提示的認(rèn)證域名稱。若兩個(gè)版本庫(kù)的認(rèn)證域相同,建議使用相同的用戶名口令數(shù)據(jù)文件

Passwd 文件

我們?cè)? svnserve.conf 文件里啟用這個(gè)文件。然后配置如下:

[root@singledb conf]# cat passwd

### This file is an example password file for svnserve.

### Its format is similar to that of svnserve.conf. As shown in the

### example below it contains one section labelled [users].

### The name and password for each user follow, one account per line.

[users]

# harry = harryssecret

# sally = sallyssecret

dave = davepwd

tianlesoftware = tianlesoftwarepwd

authz 文件

在網(wǎng)上找到一個(gè)很好的配置例子:

[groups]

admin = john, kate

devteam1 = john, rachel, sally

devteam2 = kate, peter, mark

docs = bob, jane, mike

training = zak

-- 這里把不同用戶放到不同的組里面,下面在設(shè)置目錄訪問權(quán)限的時(shí)候,用目錄來(lái)操作就可以了。

# 為所有庫(kù)指定默認(rèn)訪問規(guī)則

# 所有人可以讀,管理員可以寫,危險(xiǎn)分子沒有任何權(quán)限

[/] -- 對(duì)應(yīng)我測(cè)試?yán)锏模? /u02/svn 目錄

* = r

@admin = rw

dangerman =

# 允許開發(fā)人員可以完全訪問他們的項(xiàng)目版本庫(kù)

[proj1:/]

@devteam1 = rw

[proj2:/]

@devteam2 = rw

[bigproj:/]

@devteam1 = rw

@devteam2 = rw

trevor = rw

# 文檔編寫人員對(duì)所有的 docs 目錄有寫權(quán)限

[/trunk/doc]

@docs = rw

# 培訓(xùn)人員可以完全訪問培訓(xùn)版本庫(kù)

[TrainingRepos:/]

@training = rw

下面我們來(lái)配置我們的 authz 文件:

[root@singledb conf]# cat authz

[groups]

admin = dave

dev=tianlesoftware

[davesvn:/]

@admin = rw

@dev = rw

[root@singledb conf]#

2.4 啟動(dòng)和停止 SVN 服務(wù)

1 )啟動(dòng) SVN 服務(wù) :

[root@singledb conf]# svnserve -d -r /u02/svn

-d 表示后臺(tái)運(yùn)行

-r 指定根目錄是 /u02/svn

[root@singledb conf]# ps -ef | grep svn

root 4592 1 0 18:04 ? 00:00:00 svnserve -d -r /u02/svn

root 4594 3709 0 18:04 pts/1 00:00:00 grep svn

2 )停止 SVN 服務(wù) :

ps -aux |grep svn

kill -9 進(jìn)程殺掉

. 客戶端連接 SVN 服務(wù)器

3.1 安裝 TortoiseSVN 客戶端

下載地址在第一節(jié)已說(shuō)明。

3.2 找到自己項(xiàng)目的目錄,右擊,進(jìn)行 SVN 操作

1 )新建測(cè)試目錄 svn ,進(jìn)入后右鍵,點(diǎn) checkout

Linux 搭建SVN 服務(wù)器

Linux 搭建SVN 服務(wù)器

SVN 服務(wù)器的 IP 地址和版本庫(kù)名稱。

Linux 搭建SVN 服務(wù)器

新建個(gè)文件 svn.txt. 把這個(gè) 文件上傳 SVN 服務(wù)器(add):

Linux 搭建SVN 服務(wù)器

Linux 搭建SVN 服務(wù)器

------------------------------------------------------------------------------

Blog http://blog.csdn.net/tianlesoftware

網(wǎng)上資源: http://tianlesoftware.download.csdn.net

相關(guān)視頻: http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx

DBA1 群: 62697716( 滿 ); DBA2 群: 62697977( 滿 )

DBA3 群: 62697850 DBA 超級(jí)群: 63306533;

聊天 群: 40132017

-- 加群需要在備注說(shuō)明 Oracle 表空間和數(shù)據(jù)文件的關(guān)系,否則拒絕申請(qǐng)

Linux 搭建SVN 服務(wù)器


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 精品亚洲无人区一区二区 | swag国产精品一区二区 | 成人毛片免费观看视频大全 | 久久精品看片 | 欧美精品中文字幕手机免费视频 | 精品九九视频 | videos欧美黑白爆交 | 亚洲九九夜夜 | 大陆一级毛片免费视频观看i | 国产亚洲欧美日韩国产片 | 天天视频免费入口 | 午夜欧美性欧美 | 久草在线在线观看 | 精品 日韩 国产 欧美在线观看 | 草草影院国产 | 成年女人毛片免费播放视频m | 91亚洲在线| 免费观看黄色毛片 | 亚洲成a人片在线v观看 | 国产色视频在线 | 色涩亚洲| 丁香综合在线 | 国产亚洲精品久久午夜 | 久久一区二区三区精品 | 国产精品欧美久久久久天天影视 | 岛国精品在线 | 一级淫片免费视频 | 一级a毛片免费 | 日韩一区二区三区不卡视频 | 欧美在线视频在线观看 | 黄网站www | 香港aa三级久久三级老师 | 欧美另类亚洲 | 激情五月宗合网 | 特级全黄一级毛片免费 | 在线观看亚洲精品专区 | 一区二区福利视频 | 国产国语一级a毛片高清视频 | 亚洲日本aⅴ片在线观看香蕉 | 国产精品久久久久鬼色 | 国产情侣普通话刺激对白 |