svn help 来获取svn提供的所有命令来访问svn仓库
首先创建svn仓库,将来表示我们的项目的存放路径;
svnadmin create E:\svn\repository //创建svn仓库存放
svnserve -d -r E:\svn\repository //启动服务器,服务器启动后才会侦听检查来自客户端的相关命令请求。让svn将此目录做完仓库,并侦听客户端的请求命令,-d后台模式运行,-r指定服务器的仓库路径,服务器启动后,该窗口不能关闭。需要重新开启一个新的dos窗口来执行客户端命令
svn import svn://localhost, 其中svn://localhost表示的是svn服务器的ip地址,这里表示我的服务器在我本机,另外svn实现了自己独有的协议svn协议,所以我们看到url形式是svn://localhost这样的,这个命令的作用是将当前目录中的所有子目录和文件import到服务器上去,纳入svn的管辖范围中。
如果执行该命令失败,那么该命令要求我们指定好一个记录日志的文件或者在系统环境变量中增加一个SVN_EDITOR变量或者指定好一个记录日志的文件,2选1就可以了
如果我们增加一个SVN_EDITOR的环境变量,变量值系统自带的记事本就可以了,方法同前述查看path环境变量一样。
然后重新执行上述命令,成功。注意:环境变量修改过后,需要打开新的dos窗口才能生效
命令重新执行后如果弹出notepad的日志文件,证明成功,选择c继续执行。
继续后,如果svn提示认证失败,证明我们连接到了服务器,但是服务器端认为客户端权限不够,回到仓库E://svn/repository/conf目录中找到svnserve.conf
去掉anon-access = read的注释去掉,(#是java属性文件注释方式一致)。表示匿名用户只有读的权限,所以我们在下边还要加上anon-access = write,表示匿名用户可以进行import(写)的权限
保存,关闭该文件。
这时我们需要停止之前的 svnserve 的服务,然后重新启动,让它接受我
们的改变,转到它的命令行窗口,用 ctrl+c 停止它,再重新启动
回到之前的命令行窗口,重新执行:
svn import svn://localhost
弹出日志文件,关闭,并且继续,成功将我们的工程上传到服务器
svn mkdir svn://localhost/project
表示我们在svn服务器创建一个虚拟目录,我们今后可以将项目导入该目录
Import掌握之后我们就可以删除原来的工程,从服务器上检出项目,进行协同开发
接下来将当前目录切换到要存放项目的本地文件夹,使用命令:
svn checkout svn://localhost/project来检出我们导入到服务器上的工程,进行开发
继续往下,我们打开HelloWrold.java,对它进行一些修改,保存并关闭,继续回到命令行使用命令,对我们已经做出修改的文件进行提交,方便小组其他成员能够及时获取我们的代码,切换到命令行,定位到被修改文件所在目录,运行:
svn commit HelloWorld.java , 然后弹出日志文件,选择继续,完成提交。
如果在此过程中,发生工作拷贝被锁定,不能提交的情况,使用命令:
Svn cleanup 来解除文件被锁定的状态,然后继续提交
日志文件表示我们对本次提交所作出修改的记录,意味着,只有当对服务器进行写操作的时候才会弹出日志信息,配置环境变量的方式,会在每次提交的时候都会弹出日志文件,可以通过命令行指定的方式来记录日志,2选1,都可以
-F c:/log.txt
以上操作都是我们在工作当中经常用到的命令,svn的命令远不止这些,可以通过svn –help来获取所有它提供的命令,
Svn高级操作
Svnserve.config 该文件就是一个设定 SVN 认证信息的重要文件, 我们在之前已经对该文件进行了操作,增加了匿名用户的访问权限。现在我们来增加需要授权才能访问的信息。首先将之前匿名可以访问的部分删除,只能通过提供用户名和密码才能访问 SVN。将 anon-access = read 与 anon-access = write 之前增加一个#号,表示注释掉该部分。将 password-db = passwd 之前的#号删掉,这表示用户的用户名与密码信息放置在同目录下的 passwd 文件中。OK,保存该文件,关闭它。我们看到与 svnserve.conf 文件同目录就有一个 passwd 文件,他就是存放用户信息的文件,用文本编辑工具打开它。我们看到,svn为我们提供了两个默认的用户,这是用来测试用的,我们打开它的注释,并且自己增加2个用户zhangsan=zhangsan123,lisi=lisi123, 保存,关闭该文件,现在我们要使用用户登录信息来操作 SVN。
注意:在一次登录后, SVN 会将我们的登录信息保存起来存放在硬盘上的文件中,其存放位置为: C:\Documents and Settings[你的登录系统用户名] \Application Data\Subversion,如果想要删除该信息,只需要将该目录中的 auth 文件夹删除即可。
现在我们要进行SVN操作了,不过现在我们不使用之前的命令行方式了,而是使用图形化方式, 实际上,现在已经有了 Windows 下的 SVN 图形化操作工具,它就是 TortoiseSVN
TortoiseSVN 实际上是对 Windows 操作系统的文件夹增加的一个外壳,大家用鼠标右键点击时会出现 TortoiseSVN 的操作快捷方式。OK,下面我们开始 TortoiseSVN 的使用介绍。实际上如果大家对之前的命令行方式理解比较好的话,对于 TortoiseSVN 的使用会很容易掌握的。