锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
鍒嗗竷寮忕増鏈帶鍒剁郴緇熷凡鎴愮垎鍙戜箣鍔匡紝瓚婃潵瓚婂鐨勫紑婧愯蔣浠朵嬌鐢ㄨ濡?GNU arch, Bazaar, Mercurial, Git, SVK絳夊垎甯冨紡鐗堟湰鎺у埗緋葷粺銆?榪欎竴鏂歸潰鏄紑婧愯蔣浠跺紑鍙戠殑鏈川錛堝叏閮ㄦ簮鐮佸叕寮錛岃法鍦板煙鐨勫紑鍙戝洟闃燂級鍐沖畾鐨勶紝鍙︿竴鏂歸潰鏄鐞嗚搴︼紙鏈嶅姟鍣ㄦ墿灞曟э紝鍩轟簬淇′換閾劇殑浠g爜鎻愪氦錛夈?
鎴戜滑璁や負浜嗚В鍒嗗竷寮忕増鏈帶鍒剁郴緇燂紝瀵逛簬紼嬪簭鍛樻槸蹇呰鐨勶紝鍥犱負:
鎴戜滑璁や負“闆嗕腑寮?#8221;鐗堟湰鎺у埗緋葷粺錛屼粛鐒舵槸鍟嗕笟浼佷笟杞歡寮鍙戜腑鐨勯閫夛紝鍥犱負鏄紒涓氬鎺堟潈鍜岄泦涓鐞嗙殑闇瑕併?鍗充嬌鏈夎法鍦板煙寮鍙戠殑闇瑕侊紝鎴戜滑涔熷彲浠ラ氳繃闀滃儚銆佷唬鐞嗙瓑鏂瑰紡瀹炵幇 Subversion 鐨勯珮鏁堣繍琛屻?
姣旇緝欏圭洰 鍒嗗竷寮?bzr) 闆嗕腑寮?svn) 鎬ц兘 鏈嶅姟鍣ㄦ墿灞曡兘鍔?/p>
鈽呪槄鈽?/p>
鈽?/p>
緗戠粶甯﹀鍗犵敤 鈽?/p>
鈽嗏槅鈽?/p>
鏈湴淇濆瓨鐨勫畬鏁寸増鏈巻鍙?/p>
鈽呪槄鈽?/p>
- 瀹夊叏 鍘嗗彶鐗堟湰鐨勫畨鍏ㄩ獙璇?/p>
鈽呪槄鈽?/p>
- 鏁版嵁瀹夊叏錛圔CP錛?/p>
鈽呪槄鈽?/p>
鈽?/p>
鍒嗘敮鎿嶄綔 浠g爜鍚堝茍錛坢erge錛夎兘鍔?/p>
鈽呪槄鈽?/p>
鈽呪槄 鍒嗘敮綆$悊 鈽呪槄鈽?/p>
鈽呪槄鈽?/p>
鍒嗘敮寤虹珛閫熷害 鈽?/p>
鈽呪槄鈽?/p>
鐢ㄦ埛鐣岄潰 浣跨敤騫沖彴騫挎硾鎬?/p>
鈽呪槄鈽?/p>
鈽呪槄鈽?/p>
鍛戒護琛屽彲鐢ㄦ?/p>
鈽呪槄鈽?/p>
鈽呪槄鈽?/p>
Windows鍥懼艦鐣岄潰 鈽?/p>
鈽呪槄鈽?/p>
鏉冮檺綆$悊 緇熶竴鐨勭敤鎴峰笎鍙?/p>
- 鈽呪槄鈽?/p>
閽堝鐩綍鐨?Checkout - 鈽呪槄鈽?/p>
鐩綍鎺堟潈 - 鈽呪槄鈽?/p>
鍒嗘敮鎺堟潈 鈽?/p>
鈽呪槄鈽?/p>
鍏朵粬 榪滅▼鐗堟湰搴撳鍒?/p>
鈽呪槄鈽?/p>
鈽呪槄鈽?/p>
紱葷嚎鎻愪氦 鈽呪槄鈽?/p>
-
鎴戜滑閫夋嫨 Subversion(SVN) 浣滀負浼佷笟鐗堟湰鎺у埗宸ュ叿鐨勯閫夛紝鑰屼笉鏄?CVS銆備笉鏄洜涓烘垜浠嬌鐢?Subversion 鏃墮棿鏇翠箙錛屼篃涓嶆槸鍥犱負鎴戜滑瀵?Subversion 鏇存湁鎰熸儏銆傛伆鎭扮浉鍙嶏紝CVS 寰堟棭灝卞凡緇忔笚閫忓埌鎴戜滑鐨勮娑蹭腑銆傚叧浜?CVS 鍙互鍙傝冩垜浠繖涓枃妗o細 銆奀VS 鐗堟湰鎺у埗銆?/a>銆?
澶氬勾鐨勪嬌鐢?CVS 鐨勫紑鍙戠粡楠岋紝鎴戜滑娣辨劅 CVS 鍦ㄤ嬌鐢ㄥ拰綆$悊涓婄殑涓嶈凍銆備笅闈㈡槸 SVN 鍜?CVS 鐨勫鐓с?
姣旇緝欏圭洰 CVS SVN 鏉冮檺鎺у埗 鏄惁渚濊禆緋葷粺甯愬彿 渚濊禆 涓嶄緷璧?/p>
鍙惁瀵瑰垎鏀巿鏉?/p>
鍚?/p>
鏄?/p>
鏄惁鏀寔LDAP璁よ瘉 鍚?/p>
鏄?/p>
鍥懼艦鍖栧笎鍙風鐞?/p>
鍚?/p>
鏄?闆嗕腑綆$悊騫沖彴) 鐢ㄦ埛鍙惁鑾峰彇蹇樿鍙d護錛屼慨鏀瑰彛浠?/p>
鍚?/p>
鏄?闆嗕腑綆$悊騫沖彴) 鐩綍錛屾枃浠跺悕鍙樻洿 鍚?/p>
鏄?/p>
鍒嗘敮綆$悊 鍒涘緩鍒嗘敮鏃墮棿 鑰楁椂* 蹇?/p>
鍒嗘敮鍙銆佹煡璇?/p>
闅?/p>
鏄?/p>
浜岃繘鍒舵枃浠?/p>
浜岃繘鍒朵紭鍖?/p>
鍚?/p>
鏄?/p>
浜岃繘鍒舵枃浠舵爣璇?/p>
鎵嬪伐 鑷姩 浜岃繘鍒舵枃浠訛紙鍥懼艦鏂囦歡錛夎鐮村潖 鏄撶牬鍧?/p>
涓嶆槗鐮村潖 浜嬬墿澶勭悊 閲忓瓙鎻愪氦 鍚?/p>
鏄?/p>
淇敼鎻愪氦璇存槑 鍗曚釜鏂囦歡 鏄?/p>
鎹㈣絎?/p>
鍙惁鎸囧畾鎹㈣絎︾被鍨?/p>
鍚?/p>
鏄?/p>
媯鏌ユ崲琛岀璁懼畾錛岄伩鍏嶈法騫沖彴寮鍙戝甫鏉ョ殑娣蜂貢 鍚?/p>
鏄?/p>
鍔熻兘鎵╁睍 CVSROOT hooks 鑴氭湰 緗戠粶甯﹀ 緗戠粶甯﹀鍗犵敤 楂?/p>
浣?/p>
鑴辨満鍛戒護 鍚?/p>
閮ㄥ垎
閭d箞鍟嗕笟鐨勭増鏈帶鍒跺伐鍏峰浣曞憿錛熸垜浠澶у0鍛婅瘔浣狅紝涓嶈錛佷笉瑕佹妸鎮ㄧ殑鏍稿績璧勪駭鈥斺?#8220;浠g爜”璁╀粬浜虹粦鏋訛紒
姣旇緝欏圭洰 鏌愬晢涓氳蔣浠?/strong> SVN 鏈嶅姟鍣ㄧ瀛樺偍 鏄惁渚濊禆鏁版嵁搴擄紙棰濆鐨勭鐞嗚礋鎷咃級 渚濊禆 涓嶄緷璧?/p>
鏁版嵁瀛樺偍鏍煎紡鏄惁寮鏀?/p>
鍚?/p>
鏄?/p>
鏄惁鍙互灝嗙増鏈簱瀵煎嚭錛熶互渚塊噸寤恒佸鍏ュ叾浠栭」鐩佸垎鍙戠粰絎笁鏂規垨鑰呴厤緗鐞嗚蔣浠跺垏鎹€?/p>
鍚?/p>
鏄?/p>
鏄惁鍙互瀵規湇鍔″櫒绔瓨鍌ㄨ繘琛屾暣鐞?/p>
鍚?/p>
鏄?/p>
鏄惁鍙互褰誨簳鍒犻櫎閰嶇疆欏?/p>
鍚?/p>
鏄? 鍙惁閫氳繃鎻掍歡榪涜鍔熻兘鎵╁睍錛?/p>
鍚?/p>
鏄?/p>
鍛戒護琛?/p>
鍛戒護琛屽姛鑳芥槸鍚﹀畬澶?浠ヤ究瀹炵幇宸ヤ綔鑷姩鍖?/p>
鍚?/p>
鏄?/p>
鏄惁鍙互闆嗘垚鍒拌嚜鍔ㄧ紪璇?nightly build)緋葷粺錛?/p>
鍚?/p>
鏄?/p>
鏂囦歡鐘舵佷繚鎸?/p>
瀹㈡埛绔湰鍦版槸鍚︽湁閰嶇疆鏂囦歡浠ヤ繚鎸佺姸鎬侊紵 鍚?/p>
鏄?/p>
鏄惁渚濋潬鏈嶅姟鍣ㄧ榪涜鐘舵佷繚鎸侊紵 鏄?/p>
鍚?/p>
瀹㈡埛绔槸鍚﹀彲浠ヨ劚鏈鴻繍琛岋紵 鍚?/p>
鏄?/p>
宸ュ叿鏁村悎 鏄惁鍙互鍜岃祫婧愮鐞嗗櫒鏁村悎錛?/p>
鍚?/p>
鏄?/p>
鏄惁鏈?Eclipse 鎻掍歡錛?/p>
鍚?/p>
鏄?/p>
鎴愭湰 杞歡鏈韓鎴愭湰 楂?/p>
浣?/p>
鍩硅鎴愭湰 楂?/p>
浣?/p>
涓?#8220;寮婧愰熼?#183;闆嗕腑綆$悊”騫沖彴鏁村悎;
2. 鍒嗗竷寮忚繕鏄泦涓紡鐗堟湰鎺у埗
3. SVN 鍜?CVS 鐨勫鐓?/h2>
4. SVN 鍜?鍟嗕笟鐗堟湰鎺у埗緋葷粺鐨勫鐓?/h2>
5. 緹よ嫳姹囷細鍔熻兘鎵╁睍
6. 涓轟粈涔堥夋嫨緹よ嫳姹?/h2>
7. 鐩稿叧鏂囨。
CVS
浠h〃鍗忎綔鐗堟湰緋葷粺錛岃繖鏄竴涓皢涓緇勬枃浠舵斁鍦ㄥ眰嬈$洰褰曟爲涓互淇濇寔鍚屾鐨勭郴緇熴備漢浠彲浠ヤ粠
CVS
鏈嶅姟鍣ㄤ笂鏇存柊浠栦滑鐨勬湰鍦板眰嬈℃爲鍓湰錛屽茍灝嗕慨鏀圭殑緇撴灉鎴栨柊鏂囦歡鍙戝洖錛涙垨鑰呭垹闄ゆ棫鏂囦歡銆?/span>
CVS
鍩轟簬瀹㈡埛绔?/span>
/
鏈嶅姟鍣ㄧ殑琛屼負浣垮緱鍏跺彲瀹圭撼澶氱敤鎴鳳紝鏋勬垚緗戠粶涔熷緢鏂逛究銆傝繖涓鐗規т嬌寰?/span>
CVS
鎴愪負浣嶄簬涓嶅悓鍦扮偣鐨勪漢鍚屾椂澶勭悊鏁版嵁鏂囦歡
(
鐗瑰埆鏄▼搴忕殑婧愪唬鐮?/span>
)
鏃剁殑棣栭夈?/span>
鏈嶅姟鍣?/span>
1
銆傚垵濮嬪寲
cvs
鏈嶅姟鍣ㄧ幆澧?/span>
錛?/span>
cvs 鈥揹 /tmp/source init
鍛戒護鍦?/span>
/usr/local/sourc
涓嬪緩绔嬩簡
cvsroot
鐩綍錛岄噷闈㈡槸鍒濆鍖栫殑
cvs
鏈嶅姟鍣ㄩ厤緗枃浠躲?/span>
2
銆傛妸
cvs
鏈嶅姟鍣ㄦ斁鍒?/span>
xinetd
涓?/span>
錛?/span>
vi /etc/xinetd.d/cvspserver
寤虹珛鏈嶅姟鏂囦歡騫舵坊鍔犲唴瀹?/span>
server cvspserver
{
聽聽聽聽聽聽聽聽 flags聽聽聽聽聽聽聽聽聽 = REUSE
聽聽聽聽聽聽聽聽 socket_type聽聽聽聽聽聽 = stream
聽聽聽聽聽聽聽聽 wait聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 = no
聽聽聽聽聽聽聽聽 user聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 = root
聽聽聽聽聽聽聽聽 protocol聽聽聽聽聽聽聽聽聽聽聽聽 = tcp
聽聽聽聽聽聽聽聽 server聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 = /usr/bin/cvs
聽聽聽聽聽聽聽聽 server_args聽聽聽聽聽聽 = -f 鈥揳llow-root=/tmp/source pserver
聽聽聽聽聽聽聽聽 disable聽聽聽聽聽聽聽聽聽聽聽聽聽聽 = no
}
鍏朵腑
server_args
涓涓弬鏁版寚瀹氫簡婧愪唬鐮佽礬寰?/span>
,
涓涓寚瀹氫簡鏈嶅姟鍣ㄤ嬌鐢ㄥ瘑鐮佽璇佹柟寮?/span>
.
鐒跺悗紜繚
/etc/services
鏂囦歡涓湁浠ヤ笅涓よ
cvspserver 2401/tcp
cvspserver 2401/udp
鏈鍚庨噸鍚?/span>
xinetd
鏈嶅姟銆?/span>
嫻嬭瘯
鍋囪
cvs
鏈嶅姟鍣ㄥ湪
192.168.0.192
涓婏紝緋葷粺涓婃湁涓涓敤鎴?/span>
cvs
銆傜櫥闄嗗彟涓鍙?/span>
linux
鏈哄櫒錛屾墽琛屼笅鍒楀懡浠ゅ彲浠ュ畬鎴愭祴璇曘?/span>
$export CVSROOT
錛?/span>
:pserver:cvs@192.168.0.192:2401/tmp/source
$cvs login
杈撳叆瀵嗙爜錛屾病鏈夐敊璇彁紺鴻〃紺虹櫥闄嗘垚鍔熴?/span>
$cvs logout
鐧誨嚭
鐢ㄦ埛璁よ瘉
cvs
鏈嶅姟鍣ㄦ湁涓濂楄嚜宸辯殑鐢ㄦ埛璁よ瘉鏈哄埗錛屾鏂規硶浣跨敤浜嗙郴緇熶笂鐢ㄦ埛鐩存帴浣滀負
cvs
鏈嶅姟鍣ㄧ敤鎴鳳紝閲囩敤
linux
緇勩佺敤鎴鋒潈闄愬疄鐜拌繖鏍風殑鍔熻兘銆?/span>
渚嬪錛屽湪
linux
緋葷粺涓婃湁涓や釜寮鍙戠粍
a
銆?/span>
b
錛屽垎鍒湁鐢ㄦ埛
a
錛?/span>
user1
錛?/span>
a
錛?/span>
user2
錛?/span>
b
錛?/span>
user1
錛?/span>
b
錛?/span>
user2
銆?/span>
妯″潡
a
錛?/span>
source
錛屽笇鏈?/span>
a
緇勬垚鍛橀兘鍙互璇誨啓錛?/span>
b
緇勬病鏈変換浣曟潈闄愶紝浣跨敤浠ヤ笅鍛戒護錛?/span>
錛?/span>
chown 鈥揜 a-user1 a-source
錛?/span>
chgrp 鈥揜 a a-source
錛?/span>
chmod 鈥揜 770 a-source
濡傛灉甯屾湜
a
錛?/span>
source
錛屽彧鏈?/span>
a
錛?/span>
user1
鍙互鍐欙紝鍚岀粍鍏朵粬鐢ㄦ埛鍙互璇伙紝
b
緇勬病鏈変換浣曟潈闄愶紝鎶?/span>
chmod
鍛戒護鏀規垚
錛?/span>
R 750
鍗沖彲銆?/span>
璇存槑
cvs
涓粯璁や竴涓敤鎴?/span>
checkout
浠g爜鏃跺欙紝浼氬湪褰撳墠妯″潡涓嬬敓鎴愪竴涓攣鏂囦歡錛屽鏋滆繖涓敤鎴峰褰撳墠妯″潡娌℃湁鍐欐潈闄愶紝璇繪槸涓嶅彲鑳界殑銆傞厤鍚堜笂闈㈢殑鏉冮檺璁劇疆錛屽繀欏繪敼浠ヤ笅
cvs
鏈嶅姟鍣ㄩ厤緗傛敼鎴愪笉鍦ㄥ綋鍓嶆ā鍧楃洰褰曚笅鐢熼暱閿佹枃浠訛紝鎶婇攣鏂囦歡闆嗕腑鍒頒竴涓墍鏈夌敤鎴烽兘鏈夎鍐欐潈闄愮殑鐩綍銆備慨鏀歸厤緗枃浠?/span>
CVSROOT/config
錛?/span>
Put CVS lock files in this directory rather than directly in the repository.
錛?/span>
LockDir=/var/lock/cvs
鎶?/span>
LockDir
璁句笂灝卞彲浠ヤ簡銆?/span>
緋葷粺寤虹珛澶氫釜婧愪唬鐮佸簱
1
銆備嬌鐢ㄤ竴涓笉鍚岃礬寰?/span>
2
銆?/span>
/etc/xinetd.d
鐩綍涓嬪緩绔嬩竴涓柊鐨勪換鍔¢厤緗枃浠訛紝濡?/span>
cvspserver1
錛屾枃浠朵腑絎竴琛?/span>
server
鍚嶇О涓瀹氳鍖哄垎銆傚鏀逛負
server cvspserver1
錛?/span>
server_args
鍋氱浉搴斿彉鍔ㄣ傝繕瑕佸湪
/etc/services
鏂囦歡涓紝鍔犲叆鏂扮殑鏈嶅姟鍣ㄧ鍙o紝濡?/span>
cvspserver1 2402/tcp
銆傞噸鍚?/span>
xinetd
鍗沖彲銆?/span>
CVS
鐨勪嬌鐢ㄦ祦紼?/span>
1
銆傜櫥鍏?/span>
(login)
錛屽彧闇鍋氫竴嬈°傞渶瑕佸瘑鐮佽璇侊紝闄ら潪鏄厑璁稿尶鍚嶇櫥鍏ワ紝鍚﹀垯閮借杈撳叆
CVS Server
綆$悊鑰呴厤緇欐偍鐨勫瘑鐮併?/span>
2
銆傚彇鍑?/span>
(checkout)
鏁翠喚涓撴
(
綾諱技妗f涓嬭澆
)
銆傛鏃訛紝鎮ㄧ殑紜涓細鏈変竴浠戒笓妗堢殑鍘熷鐮佺洰褰曪紝鎴戜滑縐頒箣涓哄伐浣滅洰褰曘?/span>
3
銆備緷鎮ㄧ殑紼嬪紡鎰忓浘錛屼慨鏀規煇涓鏀▼寮忋?/span>
4
銆傛煡璇㈢▼寮忕殑鍦ㄥ簱鐘舵?/span>
(status)
銆?/span>
(3
銆?/span>
4
榪欎簩涓姩浣滃彲浜掕皟鎴栧悎騫舵搷浣?/span>
)
5
銆傝鍦ㄥ簱鐘舵侊紝姣斿浜岃呯殑宸紓
(diff)
錛岃皟鏁翠慨鏀圭殑紼嬪紡
(
鏄惁鍜屼粬浜轟慨鏀圭殑閮ㄤ喚鍙戠敓鍐茬獊錛岃嫢鏃犲啿紿侊紝閭e氨鍗佸垎鍗曠函錛屽彲鍦ㄤ慨鏀瑰畬涔嬪緦錛岀洿鎺ュ瓨鍏?/span>
(commit/ci)
妗f搴?/span>
(repository)
涓?/span>
)
6
銆傝嫢鏈夊啿紿侊紝鍦?/span>
mailling list
涓紝鍜屼粬浜鴻璁猴紝鍙栧緱鍗忚皟銆?/span>
7
銆傚皢淇敼濂界殑妗f
commit
瀛樺叆
CVS
妗f鏌?/span>
(
淇楃О
checkin
錛岀被浼兼。妗堜笂浼?/span>
)
錛岃鍔″繀鍦ㄧ▼寮忕爜娉ㄨВ涓紝璇﹁堪鎮ㄧ殑鎰忓浘銆?/span>
8
銆傞忚繃
mailling list
璇存槑鎮ㄧ殑鎯蟲硶錛屽拰澶у璁ㄨ銆?/span>
9
銆傛瘡緇忚繃涓孌墊椂鏃ワ紝搴旀煡璇㈠湪搴撶姸鎬侊紝騫舵洿鏂版偍鐨勫伐浣滅洰褰?/span>
(update)
銆?/span>