我的java天地

          svn服務器安裝配置

          1.安裝svn-1.3.0-setup.exe(可以在http://subversion.tigris.org/下載得到)
          2.安裝成功后,在命令行輸入svnadmin create D:\svnhome\workflow,建立工程,svn自動會
          在該目錄下建立若干文件
          3.在該目錄下有password文件,在此文件中增加用戶和密碼格式如下
          [users]
          admin = 123
          在svnserve.conf文件中增加
          [general]
          anon-access = read
          auth-access = write
          password-db = passwd
          realm = svnhome
          到這一步svn服務器已經配置完成了,下面是導入需要版本控制的工程
          4.在命令行執行import命令
          例如:D:\svnhome\workflow>svn import D:\eclipse\workspace\Workflow
          file:///D:/svnhome\workflow -m "initial import"
          回車后命令窗口顯示
          新增           D:\eclipse\workspace\Workflow\.classpath
          新增           D:\eclipse\workspace\Workflow\.project
          新增           D:\eclipse\workspace\Workflow\src
          新增           D:\eclipse\workspace\Workflow\src\com
          新增           D:\eclipse\workspace\Workflow\src\com\bright
          新增           D:\eclipse\workspace\Workflow\src\com\bright\sw
          ......
          ......
          提交后的修訂版為 1。
          說明工程引入svn控制成功
          5.最后在命令行執行svnserve -d命令,啟動svn服務


          FeedBack:
           
          創建倉庫 svnadmin create /home/svnroot/repository
          修改配置文件/home/svnroot/repository/conf/svnserve.conf
          [general]
          #匿名訪問的權限,可以是read,write,none,默認為read
          anon-access = none
          #認證用戶的權限,可以是read,write,none,默認為write
          auth-access = write
          #密碼數據庫的路徑,去掉前面的#
          password-db = passwd
          #用戶操作權限#
          authz-db = authz
          修改配置文件passwd
          [users]
          user = passwod
          user1 = password1
          修改配置文件authz
          [test1:/]
          user = rw
          [test1:/doc]
          user1 = rw
          對于單個代碼倉庫
          啟動命令 svnserve -d -r /home/svnroot/repository/test1 --listen-host 192.168.1.18
          其中-d表示在后臺運行,-r指定服務器的根目錄,這樣訪問服務器時就可以直接用svn://服務器ip來訪問了。如果服務器有多ip的話--listen-host來指定監聽的ip地址。
          我們可以在svn客戶端中通過svn://192.168.1.18來訪問svn服務器。
          對于多個代碼倉庫,我們在啟動時也可以用-r選項來指定服務器根目錄,但訪問時需要寫上每個倉庫相對于svn根目錄的相對路徑。
          比如,我們有兩個代碼倉庫/home/svnroot/repository/test1 和/home/svnroot/repository/test2,我們用svnserve -d -r /home/svnroot/repository --listen-host 192.168.1.18來啟動,那么在客戶端訪問時可以用svn://192.168.1.18/test1和svn://192.168.1.200/test2來分別訪問兩個項目
          啟動完成以后,我們可以用ps aux|grep svnserv來查看是否存在svnserve進程。
          開放服務器端口
          SVN默認端口是3690,你需要在防火墻上開放這個端口。
          /sbin/iptables -A INPUT -i eth0 -p tcp --dport 3690 -j ACCEPT
          /sbin/service iptables save
          你也可以通過svnserve的--listen-port選項來指定一個已經開放的其他端口,不過這樣的話客戶端使用也必須加上端口,如svn://192.168.1.18:9999/。 
           
          1.下載文件
          下載最新版本subversion,我這里選擇svn-1.3.2-setup.exe
          下載 "Subversion Windows Service" 軟件包
          下載 TortoiseSVN shell integration utility
          2.安裝Subversion 服務器
          由于我下載的是setup.exe版本,安裝程序安裝后會自動設置系統變量.如果你下載的是zip版就需要手動設置系統變量.
          setup.exe版直接安裝就可以了.安裝到D:\Program Files\Subversion
          首先創建SVN儲存庫(repository)
          svnadmin create F:\lava\svn\
          repository創建完畢后會在目錄下生成若干個文件和文件夾,dav目錄是提供給Apache與mod_dav_svn使用的目錄,讓它們存儲內部 數據;db目錄就是所有版本控制的數據文件;hooks目錄放置hook腳本文件的目錄;locks用來放置Subversion文件庫鎖定數據的目錄, 用來追蹤存取文件庫的客戶端;format文件是一個文本文件,里面只放了一個整數,表示當前文件庫配置的版本號;
          3.配置SVN服務器
          打開/conf/目錄,打開svnserve.conf找到一下兩句:
          # [general]
          # password-db = passwd
          去之每行開頭的#,其中第二行是指定身份驗證的文件名,即passwd文件
          同樣打開passwd文件,將
          # [users]
          # harry = harryssecret
          # sally = sallyssecret
          這幾行的開頭#字符去掉,這是設置用戶,一行一個,存儲格式為“用戶名 = 密碼”,如可插入一行:admin = admin888,即為系統添加一個用戶名為admin,密碼為admin888的用戶
          4.運行SVN服務器
          運行SVN服務
          在命令行執行
          svnserve --daemon --root F:\lava\svn
          服務啟動,--daemon可簡寫為-d,--root可簡寫為-r,可以建立一個批處理文件并放在windows啟動組中便于開機就運行SVN服務,或者在這個地址http://clanlib.org/~mbn/svnservice/下載那個svnservice.exe文件,拷貝到E:\svn\bin目錄下,再從命令行下執行:
          svnservice -install --daemon --root "E:\svn\Repository"
          sc config svnservice start= auto
          net start svnservice 
          # re: svn服務器安裝配置 2007-10-12 15:19 toby
          一 需要資源:
          1 apache server 。下載地址:www.apache.org
          這里我們選擇2.0版
          2 subversion 服務器包。下載地址:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
          這里我們選擇1.4.3版
          3 Subversion 客戶端。下載地址:http://sourceforge.net/projects/tortoisesvn/
          這里我們選擇1.4.3版

          二 創建和配置存儲倉庫:
          1 解壓subversion服務器服務器包到本地任何目錄,打開CMD 命令框,cd 目錄到 subversion root/bin。
          使用命令svnadmin :
          svnadmin create D:\repository\subversion\projectname
          (D:\repository\subversion 存儲庫根目錄. Projectname 工程名 )
          如果執行成功,上述命令會在D:\repository\subversion\projectname 中自動生成多個文件和文件夾。

          2 安裝apache server,所有的配置按照安裝程序提供的默認選項即可。
          默認的安裝文件根路徑一般為:系統盤:\Program Files\Apache Group\Apache2
          修改apache server root/conf/httpd.conf 文件
          A 將LoadModule dav_fs_module modules/mod_dav_fs.so
          LoadModule dir_module modules/mod_dir.so
          之前的# 去掉
          B 在LoadModule list 的最后加入
          如下內容:
          LoadModule dav_svn_module modules/mod_dav_svn.so
          LoadModule authz_svn_module modules/mod_authz_svn.so
          將subversion root/bin目錄下的.dll 和 .so文件Copy到apache server root/modules文件夾下
          C 在文件最后 加入如下信息
          <Location /svn>
          DAV svn
          SVNParentPath d:\svn\repository
          AuthType Basic
          AuthName "Subversion repositories"
          AuthUserFile passwd
          #AuthzSVNAccessFile svnaccessfile
          Require valid-user
          </Location>
          加入上述配置信息后
          http根目錄:http://yourServer/svn/">http://yourServer/svn/
          subversion本地存儲庫根目錄: d:\svn\repository
          使用“passwd”文件中username/password(用戶名/密碼)列表訪問http://yourServer/svn/">http://yourServer/svn/
          此passwd密碼文件位于apache server root目錄下
          可以通過apache server root/bin 目錄下的htpasswd.exe 命令生成
          命令使用方式:htpasswd -c passwd <username>
          -c 參數表示重新創建密碼文件,如果不需重新創建passwd文件而只增加用戶,將-c參數去掉。
          注意:密碼文件生成后,確保passwd文件位于apache server root目錄下,如果不在直接Copy過去

          3 安裝Subversion 客戶端
          安裝完成后,系統的右鍵菜單會多出Subversion的控制選項,

          三引入控管源碼
          在需要控管的源碼文件夾上點擊右鍵,在菜單中順序選擇 TortoiseSVN--》Import
          彈出一個對話框,在對話框的上部URL of repository:框中輸入前面創建的存儲庫
          Http URL 本例為:http://yourServer/svn/">http://yourServer/svn/projectname
          然后點擊OK按鈕即可。

          整個過程就這樣簡單的做完了,現在你就可以和你的團體合作開發而不必要再為修改沖突擔心了 
          # re: svn服務器安裝配置 2007-10-12 15:21 toby
          前一陣子項目開發的時候用到版本管理,以前用的是VSS,現在準備用一下SVN,摸索了一陣子,大概搞清了怎么配置和使用。與VSS相比,我個人覺得SVN使用起來方便些。
          首先是軟件的安裝,我們這里要用到兩個軟件,一個是服務器端軟件subversion,一個是客戶端TortoiseSVN。兩個都是免費軟件。下載的地址在網上有很多地方介紹,但對可憐的教育網或沒有上國際網的同胞來說,那是一個比較困難的事實。因為網上給出的地址絕大部分是軟件的官方網址,是國外網。而在國外,本人幾乎很難搜到順利下載的地址。直到利用迅雷搜索,才順利解決軟件下載問題。服務器端和客戶端版本理論上應該配套,但客戶端版本比服務器端新也是沒問題的。

          服務器軟件可能是不需要安裝的,那就更好。客戶端應該是屬于安裝形式。如果不懂無需安裝的軟件要進行一系列煩瑣的命令配置,最好是下載那些安裝型的,這樣,它會在安裝過程中自動進行一些必須的配置。服務器端和客戶端安裝的順序無關緊要。

          服務器應該安裝服務器和客戶端,客戶機只需要安裝客戶端。事實上,如果服務器機不安裝服務器端軟件也行,客戶端TortoiseSVN自帶有服務器,但是在本人使用的過程中,遠程客戶端不方便訪問,并且提交的速度慢得難以忍受。如果進行單機版本管理的話,無需安裝服務端,也沒有問題。

          服務器端:服務器端軟件subversion是屬于命令行式的,沒有圖形化操作界面,這對于生手來說有點麻煩,不過所幸的是,我們只需記住一條命令即可。其余的都可以通過客戶端來控制。這條命令是svnserve -d -r 版本存放地址。在這之前,使用右鍵的方式,創建一個版本存放倉庫等等,進行一些必要的操作(這里不再說明,這完全是得用客戶端軟件進行的,網上有很多說明,搜索TortoiseSVN的使用方法就可以得到完整說明)。雖然利用客戶端軟件,但進行地卻服務器軟件的操作同樣的效果。不妨假設先在E盤創建文件夾:E:\svnServer。并在此文件夾創建一版本存放倉庫。此時開始-運行-cmd,在出現的窗口中,利用上面提到的命令svnserve -d -r e:\svnServer。這樣就啟動了版本服務器了。注意不能關閉些窗口,否則版本服務器也隨之關閉。如果你使用的不是安裝型的軟件,那么這條命令會報錯。因為沒有進行環境變量的設置。

          客戶端:對客戶端的操作不準備多說,網上隨處可見。只是在checkout或commit ,update等操作的時候,在URL of repository(版本倉庫地址)中輸入格式為svn://服務器ip/文件夾名。如svn://245.38.100.245/che。這里che是建在服務器文件夾e:\svnServer\che\。因為e:\svnServer是一個總倉庫,里面可管理多個項目,每個項目存放一個不同的文件夾。至于用戶密碼管理等等,這些網上都有很多說明。可以自己去找找。

          最后附上SVN在linux下的注意事項和常用的命令

          發生沖突時:
          svn revert 扔掉自己的修改,使用倉庫中的文件版本
          如果保留自己的改動,丟掉其它人的改動,則:
          cp number.txt.mine number.txt
          svn resolved number.txt
          如果想用另外方式修改一下用svn resolved number.txt
          svn log [-r 16:24] clock.java [|more]查看日志
          svn blame number.txt 顯示一個或多個文件的內容。對于每個文件的每一行,顯示改動了那行的最后版本以及作出改動的人。
          svn diff [-r 27:26] number.txt 查看(版本27與版本26之間)的差異
          svn merge -r 27:26 number.txt 移除版本27中對number.txt的改動
          svn merge -r 27:26 . 撤銷版本27對當前目錄的所有改動,點表示當前目錄
          svn status [--show-updates] 查看工作版本的狀態(與服務器對照)
          當鎖住文件的用戶對文件進行提交后,文件即被解鎖
          svn add number.txt , svn commit 添加文件
          svn co 簽出文件co即為checkout
          svn info number.txt查看文件number.txt信息
          svn move 移動文件或重命名
          創建分支(發布或修正BUG):
          svn mkdir -m "msg" svn://ip/sesame/branches 可以同時創建多個目錄,用空格分開即可
          svn copy -m "msg" svn://ip//sesame/trunks svn://ip/sesame/branches/RB-1.0
          svn commit
          訪問發布分支,從分支簽出即可。
          簽出到當前目錄的rb1.0文件夾 svn co svn://ip/ rb1.0

          posted on 2008-12-13 14:43 tobyxiong 閱讀(5223) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2008年12月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          導航

          統計

          常用鏈接

          留言簿(3)

          隨筆分類(144)

          隨筆檔案(157)

          相冊

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 禹城市| 舞阳县| 雅江县| 遂川县| 新乐市| 吉林市| 花莲市| 玛纳斯县| 襄樊市| 永善县| 翁源县| 广东省| 淮南市| 贡嘎县| 如东县| 英超| 五台县| 廉江市| 积石山| 安远县| 六盘水市| 鸡东县| 栖霞市| 米脂县| 桦南县| 寿光市| 仁怀市| 墨竹工卡县| 虎林市| 菏泽市| 荔浦县| 和田县| 玉门市| 南充市| 扶绥县| 阜阳市| 忻州市| 千阳县| 湖北省| 突泉县| 凤山县|