使用SVN命令行轻松实现搭建SVN版本库服务器端
本节接着上节介绍通过Subversion的命令行,快速搭建SVN版本库服务器端方法,欢迎大家一起来学习,相信通过本节的介绍你一定会有所提高的。
6搭建SVN版本库服务器端时需要查看版本库文件
命令:svnlist版本库文件目录
通过list命令查看版本库任意目录下的文件夹,以及文件。
例如:查看版本库repository根目录下的文件目录
命令:C:\>svnlistfile:///d:/repository/jdk5
运行结果:
.classpath
.project
bin/
src/
注意:
我是在C盘下运行的list命令,版本库并不在C分区下,所以必须指定版本库所在的分区。假如,我门直接在版本库所在的分区下运行list命令,无需指定版本库所在的分区
命令:D:\>svnlistfile:///repository/jdk5
运行结果:
.classpath
.project
bin/
src/
7搭建SVN版本库服务器端时需要取得版本库文件到本地机器
命令:svncheckout版本库文件PATH本地路径文件PATH[参数]
通过import命令,仅仅是将本地代码,导入到版本库中。但是版本库中的代码并没有跟本地代码关联起来,即使我们修改了本地代码,也无法反应到版本库中的。
通过checkout命令,从版本库中取得工程的拷贝到本地,所取得的拷贝是和版本库关联在一起的。
例如:将导入的工程到取到本地机器上
命令:D:\>svncheckoutfile:///repository/jdk5e:/jdk5-r1
运行结果:
AE:\jdk5\.classpath AE:\jdk5\.project AE:\jdk5\src AE:\jdk5\src\jdk AE:\jdk5\src\jdk\autoboxing AE:\jdk5\src\jdk\autoboxing\Autoboxing.java AE:\jdk5\src\jdk\bigdecimal AE:\jdk5\src\jdk\bigdecimal\Bigdecimal.java AE:\jdk5\src\jdk\compare AE:\jdk5\src\jdk\compare\Compare.java Checkedoutrevision1.
命令说明:
-r:指定要取得的文件的版本
运行结果说明:
checkout命令会自动为每个文件夹在本地建立一个.svn的隐藏文件文件夹,这个是存放记录本地文件和版本库关联信息文件的。请勿删除,如果删除了,也就失去了和svn版本库的关联关系。
注意:
Checkout命令取得文件时,并不会在指定的本地路径下,自动建立同名目录,需要事先做成相应的文件目录。
8搭建SVN版本库服务器端时需要修改文件,并且提交到svn
命令:svncommit本地文件PATH
Commit命令是
例如:修改E:\jdk5\src\jdk\autoboxing\Autoboxing.java文件后,提交到svn版本库中
命令:D:\>svncommitE:\jdk5\src\jdk\autoboxing\Autoboxing.java-m"change20090317"
运行结果;
SendingE:\jdk5\src\jdk\autoboxing\Autoboxing.java
Transmittingfiledata.
Committedrevision2.
命令说明:
执行commit时,只需要指定要提交的文件的路径即可,svn会根据“.svn”文件夹中记录的内容,将命令解析成“svncommit本地文件PATH版本库PATH”的形式,然后再执行。这里需要注意的是,被解析的“版本库PATH”中并不包含分需信息,所以必须在版本库所在的目录下面执行commit命令。
上面的命令如果不在D分区下执行,会发生下面的错误:
C:\>svncommitE:\jdk5\src\jdk\autoboxing\Autoboxing.java-m"change20090317"
svn:Commitfailed(detailsfollow):
svn:Unabletoopenanra_localsessiontoURL
svn:Unabletoopenrepository'file:///repository/jdk5/src/jdk/autoboxing'
运行结果说明:
Committedrevision2.:为版本库所有文件设定统一的版本号。这里我们可以看到,即使修改了一个文件,但是svn是将整个版本库的版本设定成2了,也就是说svn并不对单独文件设定版本号
9搭建SVN版本库服务器端时追加新文件到svn
命令:svnadd本地目录PATH
add命令会将指定的文件目录以及其包含的文件提交到svn版本库中,同时会为此文件,建立本地文件到版本库的关联关系(建立.svn文件夹)。但是,add命令并不会将文件追加到版本库中,而是需要commit命令进行提交。
例如:把E:\jdk5\src\jdk\Unboxing添加到版本库中