1。安装软件,官方网址:http://subversion.tigris.org/
2。检查安装都得路径内的bin目录是否加入了path路径下,在命令行输入svn测试
3。建立服务器端仓库:先建立目录 ,例:E:/svn,然后使用命令行命令: svnadmin create E:/svn,如果没有显示任何信息,则说明建立成功,查看目录。
4。启动服务器,进行网络监听,才能检查到客户端的相关命令请求。
svnserve -d -r E:/svn 让svn将此目录作为仓库
说明,-d的作用为后台模式,-r的作用为指定服务器的仓库路径
5。服务器启动后,不要关闭命令行窗口,否则会关掉svnserve服务器
打开另一个命令行窗口进行下面的操作:
6。设客户端项目在E:/client下,为测试,我们建立文件夹child和文件test.txt,并向其中加入一些文字
7。将命令行转到此目录
输入命令:svn import svn://localhost
svn://localhost标识的是SVN服务器ip地址,这里标识本机,其协议为svn协议
该命令作用为将当前目录及其所有子目录和文件import到服务器上去,纳入svn的管辖范围中。
(如果失败则需要指定一个记录日志的文件,或在系统变量中加一个SVN_EDITOR的变量,改变量的值设为notepad)
如果运行后弹出notepad窗口,则证明执行成功。
8.关闭notepad窗口,选择c继续,显示认证失败。
说明已经连到SVN服务器,不过服务器认为我们的客户端没有相应的权限,所以需要改变SVN的认证权限
9.回到仓库目录,然后进入conf目录,打开svnserve.conf文件
此文件存放访问SVN仓库的认证设定,找到第12行
# anon-access=read,
结束后变成:
anon-access = read
anon-access = write
# auth-access = write
标识匿名用户的访问权限是读,并且被注释掉了已经,这与java的属性文件使用方式一样
10.我们可以取消注释,但也只是可以匿名读,import操作是写操作,
所以仍需添加一行:anon-access=write
11.重新启动服务器,Ctrl+c结束,重启
12.重新将客户端项目import到服务器
13.在命令行执行:svn mkdir svn://localhost/project2
起作用为在服务器端创建一个虚拟目录project2,今后便可将项目import到该目录下
14。新建目录及文件F:/svn下client2目录中client文件夹和test2.txt文件,并向其中添加内容
15.命令行转到目录下F:/svn,执行svn import svn://localhost/project2
如果成功,则表示文件已经被提交,但服务器端仓库不会显示文件夹有什么不同,SVN已经替我们做好了一切,被隐藏了
checkout操作:将服务器上的一个模块检出到本地,作为一个工作拷贝
为了防止操作时总是弹出记事本,可以建立日志文件,例:在F盘svn目录下建立 log.txt,内容为空,并
删除SVN_EDITOR环境变量
1。在F盘svn下新建目录myclient作为检出的项目的存放目录
2。将命令行转到该目录下,输入命令:svn checkout svn://localhost/project2
成功后察看该目录下的文件,包括隐藏文件.svn,注意此文件不要删除
commit命令
1。在检出的目录下修改text2.txt文件
2。进入该文件所在的目录,输入 svn commit test2.txt,(负责会提交整个项目)
3。如果出现错误,并提示本工作拷贝已经锁定不能能提交,则应该解除锁定,输入:svn cleanup
否则提交成功
4。如果提交出错显示需要日志文件,则需执行 svn commit test2.txt -F f:/log.txt,且F必须大写
5。检查服务器端仓库下的目录F:/svn/server/db/revs内容,用记事本打开,里面存放的是当前版本的所有文件的信息
updata命令:由于update不是对服务器进行写操作,而是从服务器取文件,即读操作,所以不需要加上-F f:/log.txt
1.将命令行转到要取的文件所在目录下,执行:svn update test2.txt
由于没有修改,所以版本号和内容没有变化,如果是多人操作则不同