java程式員菜鳥進階(九)windows下搭建SVN伺服器及配置myeclipse SVN用戶端

來源:互聯網
上載者:User


        

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,並將其copy到C:\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代碼,修改路徑並執行:

package csh.bzu.test;import java.io.File;import java.util.ArrayList;import java.util.List;/** * MyEclipse9 外掛程式配置代碼產生器 * * */public class PluginConfigCreator{    public PluginConfigCreator()    {    }    public void print(String path)    {        List<String> list = getFileList(path);        if (list == null)        {            return;        }        int length = list.size();        for (int i = 0; i < length; i++)        {            String result = "";            String thePath = getFormatPath(getString(list.get(i)));            File file = new File(thePath);            if (file.isDirectory())            {                String fileName = file.getName();                if (fileName.indexOf("_") < 0)                {                    print(thePath);                    continue;                }                String[] filenames = fileName.split("_");                String filename1 = filenames[0];                String filename2 = filenames[1];                result = filename1 + "," + filename2 + ",file:/" + path + "/"                        + fileName + "//,4,false";                System.out.println(result);            } else if (file.isFile())            {                String fileName = file.getName();                if (fileName.indexOf("_") < 0)                {                    continue;                }                int last = fileName.lastIndexOf("_");// 最後一個底線的位置                String filename1 = fileName.substring(0, last);                String filename2 = fileName.substring(last + 1, fileName                        .length() - 4);                result = filename1 + "," + filename2 + ",file:/" + path + "/"                        + fileName + ",4,false";                System.out.println(result);            }        }    }    public List<String> getFileList(String path)    {        path = getFormatPath(path);        path = path + "/";        File filePath = new File(path);        if (!filePath.isDirectory())        {            return null;        }        String[] filelist = filePath.list();        List<String> filelistFilter = new ArrayList<String>();        for (int i = 0; i < filelist.length; i++)        {            String tempfilename = getFormatPath(path + filelist[i]);            filelistFilter.add(tempfilename);        }        return filelistFilter;    }    public String getString(Object object)    {        if (object == null)        {            return "";        }        return String.valueOf(object);    }    public String getFormatPath(String path)    {        path = path.replaceAll("////", "/");        path = path.replaceAll("//", "/");        return path;    }    public static void main(String[] args)    {        /*你建立的含有svn壓縮檔的目錄*/            String plugin = "改成含有svn壓縮檔的目錄";        new PluginConfigCreator().print(plugin);    }}

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

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

二、使用。。

右鍵點擊一個項目


選擇Team下的Share Project

選擇SVN


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


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



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.