Subversion使用总结
1、服务器端安装:
Setup-Subversion-1.6.4.msi
2、客户端安装:
TortoiseSVN-1.6.7.18415-win32-svn-1.6.9.msi
和LanguagePack_1.6.7.18415-win32-zh_CN.msi(中文包)
3、重启计算机
4、建立版本库:
在要创建版本库的目录下点击鼠标右键->TortoiseSVN->Create Repository here..
5、基本配置
找到并打开刚建好的版本库中的conf文件夹下的svnserve.conf文件,修改为:(主要是去掉前面的“#”)
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = My Repository
6、用户权限配置
打开同级目录下的passwd文件,增加用户,格式为:用户名 = 密码。
例:admin = admin
user= user
guest = guest
7、授权配置
打开同级目录下的authz文件,设置权限,格式为:
#添加用户组
[groups]
组名 = 用户名1,用户名2....
例:
[groups]
manage = admin,user
#当前版本库目录下的权限
基本格式为:
[目录名]
@用户组名 = 操作权限
用户名 = 操作权限
*代表所有用户
操作权限为:
读写(rw)、只读(r)、无权(省略)
目录格式为:
#根目录
[/]
#子目录
[/子目录1/子目录2....]
例:
[/]
* = r
@admin = rw
[/project1]
admin = rw
user = rw
guest =
8、将服务器安装到系统服务项
参照下面的方法1,打开添加服务.bat文件修改即可
方法1(推荐):
在Windows NT中(包括Windows XP, Windows 2000, Windows 2003 Server)本身包含了一个安装服务的工具,叫做"Service Control",也就是sc.exe。
①安装为服务:
例:我的Subversion安装在"D:/program files/Subversion",版本库在"D:/svn_root",而我希望对应的Subversion服务名为svnservice,安装这个svn服务的命令就可以这样写:
sc create svnservice
binpath= "D:/ Program Files/Subversion/bin/svnserve.exe --service -r D:/svn_root"
displayname= "SVNService"
depend= Tcpip
请注意,因为便于察看,上面的命令分为多行,但在实际执行时应该在一行里。另外,在以前启动svnserve时会使用"-d"选项,也就是守护进程模式,在这里不能使用,会导致服务无法启动。同样,"-i"和"-t"选项也不能使用。
另外还有两点需要小心处理。首先,如果路径中包括空格,一定要用“/”处理“"”号,例如上面的例子中如果svnserve.exe在“c:/ program files/subversion/”中,则命令应该写为“binpath= "/"c:/program files/subversion/bin/svnserve.exe/"”(“”中的内容),整个命令如下,红色部分是改变部分:
sc create svnservice
binpath= "/"D:/ Program Files/Subversion/bin/svnserve.exe/" --service -r D:/svnroot"
displayname= "SVNService"
depend= Tcpip
其次,sc对选项的格式还有要求,例如“depend= Tcpip”不能写为“depend = Tcpip”或“depend=Tcpip”,也就是“=”前不能有空各,而后面必须有空格。
②启动服务
在命令行窗口执行完这个命令之后,服务还没有启动,你可以继续运行"net start svnservice"启动这个服务。
③停止服务
然后使用"net stop svnservice"停止服务。
④删除服务
如果服务安装的有问题,你可能需要删除服务。要删除前面添加的服务,只需要运行"sc delete svnservice","svnservice"就是我们创建服务时使用的名字。⑤配置服务是自动启动
默认情况下安装的服务不会随Windows的启动而启动,为了使svn服务能够随Windows启动而启动,需要修改一下"sc create"命令(首先要删除),增加"start= auto"选项:
sc create svnservice
binpath= "D:/ Program Files/Subversion/bin/svnserve.exe --service -r D:/svn_root"
displayname= "SVNService"
depend= Tcpip
start= auto
当然你也可以使用图形化的工具修改服务的属性,你可以在“开始->运行...”中执行"services.msc",然后在界面中修改。
方法2:
建立一个批处理文件并放在windows启动组中便于开机就运行SVN服务。
方法3:
这个地址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
此文件会将SVN变成windows系统的一个服务,并默认为自启动,注意:执行第三句时确保前面以命令行方式运行的SVN服务已经停止,如果没停止可在其窗口中按Ctrl+C中止运行。
9、初始化导入
来到我们想要导入的项目根目录
点击鼠标右键->TortoiseSVN->Import...
在URL of repository输入“svn://localhost/自定义虚拟路径名”
在Import Message中输入你的日志信息
完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中。
需要注意的是,这一步操作可以完全在另一台安装了TortoiseSVN的主机上进行。例如运行svnserve的主机的IP是133.96.121.22,则URL部分输入的内容就是“svn://133.96.121.22/自定义虚拟路径名”。
10、客户端基本操作
①取出版本库到一个工作拷贝:
来到任意空目录下,运行右键->Checkout,在URL of repository中输入svn://localhost/自定义虚拟路径名,这样我们就得到了一份工作拷贝。
②在工作拷贝中作出修改并提交:
打开要修改的文件,作出修改,然后右键->Commit...,这样我们就把修改提交到了版本库
③察看所作的修改:
在要查看的文件上右键->TortoiseSVN->Show Log,这样我们就可以看到我们对这个文件所有的提交。在版本1上右键->Compare with working copy,我们可以比较工作拷贝的文件和版本1的区别。