这几天在netbeans中修改一个web项目时,出现了很大的问题,幸运地是netbeans自带有本地历史记录(相当于本地的版本控制系统)。记得最 近subversion很火,并且netbeans中也内置了subversion,所以打算自己搭建一个subversion。
   
使用软件:
客户端:CollabNetSubversion-client-1.5.7-3.win32.exe
服务器端:Setup-Subversion-1.5.1.en-us.msi

netbeans(6.x) 中的svn插件:因为netbeans中的svn插件是通过和客户端程序交互来达到与svn服务器交互的目的,因此svn客户端还是必须安装的。在 netbeans中找到工具--插件,打开“可用插件”选项卡在搜索了输入svn,就能找到svn的插件了。

    安装subversion server·。安装路径最好不要带空格。安装subversion客户端,这些都没什么可说的。

    安装后在“开始--所有程序”菜单里就会有这两个程序目录,里面应该有份说明文档,如果你用的是上面的这两个软件的话,说明文档的内容是一致的,只是一 个是chm的,一个是pdf的。这份文档的附录A(Appendix A)是一份快速使用subversion的文档,按照这里面说的去做即可。

    说实话,我搞这个东西用了两天多的时间,看了很多份网上的向我这份的教程,可都没成功,反而弄得我很乱,还是随软件的官方文档可靠些,半天就搞定了。
    另外还要参考第六章,Server Configuration中的svnserve,a Custom Server一节,里面介绍了如何将subversion安装为系统服务。

安装subversion服务需要注意的
  • binpath= XXX等参数的格式一定要注意,binpath=之间必须无空格,而= XXX之间必须有空格。
  • 如果服务安装成功,则一定会出现success,并且在服务中可以看到这个服务。
  • 在 设置服务的过程中不可避免地出现一些错误,从而创建一些无效地服务,这些服务可以在命令行中通过命令:sc delete 服务名 来删除。如果服务名有空格,则这个服务名必须用”“包起来。服务名是          sc create XXX的这个名字,而不是displayname的值,displayname是在系统的服务工具里显示的名称
  • 可以在命令行中通过”net start 服务名” 命令来启动这个服务。也可以通过“net stop 服务名”来关闭这个服务,要查看所有已经启动的服务,使用“net start”命令。

我在netbeans遇到的一个问题
    我在创建好并启动subversion服务后,直接在netbeans中点击一个项目选择提交,在路径正确的前提下,总是出现UUID "String1" doesn't match expected UUID "String2"。在网上查了下资料,应该是因为权限问题,后来静下心来一想,明白了。问题是这样来的:我在subversion服务器上设置了一个 repository,subversion给这个repository一个uuid,然后我在客户端使用subversion试图添加一个工程进去。这 就是问题所在,客户端是不能往服务器中添加工程的,它只能从服务器中签出工程,做出修改再提交。那个UUID应该就是为了防止客户端往服务器随意添加工程 的。找到原因后,我使用“svn import”命令将我的工程添加进repository中(示例命令:svn import /tmp/myproject file:///var/svn/repos/myproject -m "initial import")。在netbeans中将这个工程删除,但不删除源文件。然后在工具栏上找到“团队合作”--“subversion”--“签出”,将 这个工程签出到netbeans中就行了。注意,签出时路径要使用相对路径,相对于设置系统服务时-r的值。

附:我将设置为系统服务所使用的bat文件:

 

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐