windows下搭建SVN服務器及配置myeclipse SVN客戶端

1.下載SVN最新版本安裝文件,官網下載地址是:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100,選擇最新發布的SVN安裝文件進行下載。最新版本是Setup-Subversion-1.6.5.msi,大小7.4MB安裝SVN至我的電腦。最好使用中文路徑,而且路徑中不要有空格。雙擊Setup-Subversion-1.6.5.msi->進入SVN安裝歡迎界面,點擊“Next”->進入版權相關聲明界面,點擊“Next”->進入安裝目錄選擇界面,作者選擇的是F:\Program Files\Subversion,點擊“Next”->進入安裝確認界面,點擊“Install”->安裝結束界面,點擊“Finish”結束安裝。



2.創建SVN存儲庫。命令行執行以下命令:
svnadmin  create F:\Subversion\repository 這時候svn安裝目錄下有repository文件夾生成。


這裏還可以用另一種方法創建SVN存儲庫:

比如我把源碼庫放在F:\Subversion\repository(注意,確保不能刪除),然後在此文件夾上右鍵,選擇TortoiseSVN->Create repository here,創建完後,在這個目錄下會自動產生一些目錄和文件,如下圖:




3.SVN服務器相關配置。打開F:\tools\svn\repository\conf目錄,打開svnserve.conf找到以下兩行:
#[general]
#password-db=passwd
去掉每行開頭的#,第二行是指定身份驗證的文件名,即passwd文件。保存。同樣打開同目錄下的passwd文件,找到以下幾行,添加幾個用戶:





4.啓動服務器端服務

可以用命令行svnserve.exe -d -r F:\Subversion\repository,回車後沒有什麼反應,但是不能把命令行窗口關掉,如果關掉服務就終止了。

啓動服務後我們可以測試一下,打開一個文件瀏覽器,右鍵TortoiseSVN->Repo-browser,當然客戶端程序TortoiseSVN要裝好。

鍵入服務器端的Repository地址





單擊OK,如果能看到如下窗口就證明安裝配置成功了






這樣就可以在客戶端用前面配置的三個用戶進行訪問了,注意在其它機器上訪問的時候要把localhost改成本機IP


如果想開機就啓動SVN服務的話,可以創建批處理文件,開機運行SVN服務。新建一notepad文件,重命名其名爲“svnserver.bat”,保存在F:\tools\svn\svnBat目錄下,編輯其內容如下:
@echooff
echoXXX項目SVN服務器已經啓動......
svnserve--daemon--root F:\tools\svn\repository
echoXXX項目SVN服務結束!

打開註冊表編輯器,找到

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run項,點開類型爲“REG_SZ”,名稱爲(默認)的那個選項,數值數據輸入"F:\tools\svn\svnBat\svnserver.bat"。注意一定要帶上引號,保存。再次啓動計算機時,myprojects項目樹SVN服務即啓動。


還可以:

先下載一個SVNService.exe,並將其copyC:\Program Files\Subversion\bin\目錄下(不拷也可以,但爲了方便使用,還是放到這裏比較好),然後在命令行窗口並進入到SVNService.exe所在目錄,執行如下圖




然後我們就可以在Windows Service中看到該服務了,將其改成自動啓動,這樣每次開機就會自動啓動svn service了。














myeclipse安裝svn插件

在myeclipse安裝svn插件有很多方式,我也試過其他幾種方式,但是都沒成功,下面這種方式安裝成功了。所以就只介紹這種方式了:


1.下載最新的SVN包:
http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240
2、在你的磁盤上任意位置創建文件夾:“myplugins/svn”。名字可以任取,爲了方便插件管理,建議名稱爲“myplugins”
3、將解壓的svn裏的兩個文件夾拷貝到“myplugins/svn”下。
4、複製下列java代碼,修改路徑並執行:

  1. package csh.bzu.test;  

  2. import java.io.File;  

  3. import java.util.ArrayList;  

  4. import java.util.List;  

  5. /**

  6. * MyEclipse9 插件配置代碼生成器

  7. *

  8. *

  9. */

  10. publicclass PluginConfigCreator  

  11. {  

  12. public PluginConfigCreator()  

  13.    {  

  14.    }  

  15. publicvoid print(String path)  

  16.    {  

  17.        List<String> list = getFileList(path);  

  18. if (list == null)  

  19.        {  

  20. return;  

  21.        }  

  22. int length = list.size();  

  23. for (int i = 0; i < length; i++)  

  24.        {  

  25.            String result = "";  

  26.            String thePath = getFormatPath(getString(list.get(i)));  

  27.            File file = new File(thePath);  

  28. if (file.isDirectory())  

  29.            {  

  30.                String fileName = file.getName();  

  31. if (fileName.indexOf("_") < 0)  

  32.                {  

  33.                    print(thePath);  

  34. continue;  

  35.                }  

  36.                String[] filenames = fileName.split("_");  

  37.                String filename1 = filenames[0];  

  38.                String filename2 = filenames[1];  

  39.                result = filename1 + "," + filename2 + ",file:/" + path + "/"

  40.                        + fileName + "//,4,false";  

  41.                System.out.println(result);  

  42.            } elseif (file.isFile())  

  43.            {  

  44.                String fileName = file.getName();  

  45. if (fileName.indexOf("_") < 0)  

  46.                {  

  47. continue;  

  48.                }  

  49. int last = fileName.lastIndexOf("_");// 最後一個下劃線的位置

  50.                String filename1 = fileName.substring(0, last);  

  51.                String filename2 = fileName.substring(last + 1, fileName  

  52.                        .length() - 4);  

  53.                result = filename1 + "," + filename2 + ",file:/" + path + "/"

  54.                        + fileName + ",4,false";  

  55.                System.out.println(result);  

  56.            }  

  57.        }  

  58.    }  

  59. public List<String> getFileList(String path)  

  60.    {  

  61.        path = getFormatPath(path);  

  62.        path = path + "/";  

  63.        File filePath = new File(path);  

  64. if (!filePath.isDirectory())  

  65.        {  

  66. returnnull;  

  67.        }  

  68.        String[] filelist = filePath.list();  

  69.        List<String> filelistFilter = new ArrayList<String>();  

  70. for (int i = 0; i < filelist.length; i++)  

  71.        {  

  72.            String tempfilename = getFormatPath(path + filelist[i]);  

  73.            filelistFilter.add(tempfilename);  

  74.        }  

  75. return filelistFilter;  

  76.    }  

  77. public String getString(Object object)  

  78.    {  

  79. if (object == null)  

  80.        {  

  81. return"";  

  82.        }  

  83. return String.valueOf(object);  

  84.    }  

  85. public String getFormatPath(String path)  

  86.    {  

  87.        path = path.replaceAll("////", "/");  

  88.        path = path.replaceAll("//", "/");  

  89. return path;  

  90.    }  

  91. publicstaticvoid main(String[] args)  

  92.    {  

  93. /*你新建的含有svn壓縮文件的目錄*/

  94.            String plugin = "改成含有svn壓縮文件的目錄";  

  95. new PluginConfigCreator().print(plugin);  

  96.    }  

  97. }  



這裏需要注意的是修改成爲剛纔svn所在路徑,建議改爲絕對路徑。比如d:/myplugins/svn/。。。
5.找到


“$myeclipse_home/configuration /org.eclipse.equinox.simpleconfigurator/”,打開其中的“bundles.inf”文件,爲了防止分不清是不 是我們自己後加的東西,在最後面多回幾次車,然後粘貼第4步運行後的代碼,保存
6、重啓myeclipse


二、使用。。

右鍵點擊一個項目


選擇Team下的Share Project

選擇SVN


因爲我已經提交過某個項目,所以他自動記住了url,我的url形式如下:




如果你使用於選擇了https協議,可能會 涉及到證書問題。那樣的話就要輸入用戶名和密碼來驗證



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章