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,创建完后,在这个目录下会自动产生一些目录和文件,如下图:


windows下搭建SVN服务器及配置myeclipse SVN客户端_第1张图片


3.SVN服务器相关配置。打开F:\tools\svn\repository\conf目录,打开svnserve.conf找到以下两行:
#[general]
#password-db=passwd
去掉每行开头的#,第二行是指定身份验证的文件名,即passwd文件。保存。同样打开同目录下的passwd文件,找到以下几行,添加几个用户:


windows下搭建SVN服务器及配置myeclipse SVN客户端_第2张图片




4.启动服务器端服务

可以用命令行svnserve.exe -d -r F:\Subversion\repository,回车后没有什么反应,但是不能把命令行窗口关掉,如果关掉服务就终止了。

启动服务后我们可以测试一下,打开一个文件浏览器,右键TortoiseSVN->Repo-browser,当然客户端程序TortoiseSVN要装好。

键入服务器端的Repository地址


windows下搭建SVN服务器及配置myeclipse SVN客户端_第3张图片



单击OK,如果能看到如下窗口就证明安装配置成功了



windows下搭建SVN服务器及配置myeclipse SVN客户端_第4张图片



这样就可以在客户端用前面配置的三个用户进行访问了,注意在其它机器上访问的时候要把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下搭建SVN服务器及配置myeclipse SVN客户端_第5张图片


然后我们就可以在Windows Service中看到该服务了,将其改成自动启动,这样每次开机就会自动启动svn service了。





windows下搭建SVN服务器及配置myeclipse SVN客户端_第6张图片










myeclipse安装svn插件

在myeclipse安装svn插件有很多方式,我也试过其他几种方式,但是都没成功,下面这种方式安装成功了。所以就只介绍这种方式了:


1.下载最新的SVN包:
http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240
2、在你的磁盘上任意位置创建文件夹:“myplugins/svn”。名字可以任取,为了方便插件管理,建议名称为“myplugins”
3、将解压的svn里的两个文件夹拷贝到“myplugins/svn”下。
4、复制下列java代码,修改路径并执行:

[java] view plain copy print ?
  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 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 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 filelistFilter = new ArrayList();  

  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


二、使用。。

右键点击一个项目

windows下搭建SVN服务器及配置myeclipse SVN客户端_第7张图片

选择Team下的Share Project

windows下搭建SVN服务器及配置myeclipse SVN客户端_第8张图片

选择SVN

windows下搭建SVN服务器及配置myeclipse SVN客户端_第9张图片

因为我已经提交过某个项目,所以他自动记住了url,我的url形式如下:


windows下搭建SVN服务器及配置myeclipse SVN客户端_第10张图片



如果你使用于选择了https协议,可能会 涉及到证书问题。那样的话就要输入用户名和密码来验证