使用SVN命令行轻松实现搭建SVN版本库服务器端

开发 项目管理
在学习SVN的过程中,你可能会遇到搭建SVN版本库服务器端问题,这里向大家介绍一种新方法,通过Subversion的命令行,快速搭建版本库服务器端。

本节接着上节介绍通过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
运行结果:
 

  1. AE:\jdk5\.classpath  
  2. AE:\jdk5\.project  
  3. AE:\jdk5\src  
  4. AE:\jdk5\src\jdk  
  5. AE:\jdk5\src\jdk\autoboxing  
  6. AE:\jdk5\src\jdk\autoboxing\Autoboxing.java  
  7. AE:\jdk5\src\jdk\bigdecimal  
  8. AE:\jdk5\src\jdk\bigdecimal\Bigdecimal.java  
  9. AE:\jdk5\src\jdk\compare  
  10. AE:\jdk5\src\jdk\compare\Compare.java  
  11. 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添加到版本库中

命令:D:\>svnaddE:\jdk5\src\jdk\Unboxing
运行结果:
AE:\jdk5\src\jdk\unboxing
AE:\jdk5\src\jdk\unboxing\Unboxing.java
注意:
1add命令是没有-m参数的,原因调查中。。。
2add命令并不是真正的把本地文件追加到版本库中,而是让文件或者文件夹在版本控制中,也就是仅仅为文件或者文件夹建立一个和版本库的关联关系。我们用svnlist可以发现,Unboxing并没有被追加到版本库中。如下:D:\>svnlistfile:///d:/repository/jdk5/src/jdk
autoboxing/
bigdecimal/
compare/
generic/

通过commit命令,将文件提交到版本库中。
D:\>svncommitE:\jdk5\src\jdk\unboxing-m"addunboxing"
AddingE:\jdk5\src\jdk\unboxing
AddingE:\jdk5\src\jdk\unboxing\Unboxing.java
Transmittingfiledata.
Committedrevision6.
注意:
因为我是add一个文件夹到版本库中的,所以不能单独的commit此文件夹下面的某一个文件,只能commit整个文件夹,只提交某一个文件,会发生下面的错误。
D:\>svncommitE:\jdk5\src\jdk\unboxing\Unboxing.java
svn:Commitfailed(detailsfollow):
svn:'E:\jdk5\src\jdk\unboxing'isnotunderversioncontrolandisnotpartof
thecommit,yetitschild'E:\jdk5\src\jdk\unboxing\Unboxing.java'ispartofthecommit。本节关于通过Subversion的命令行,快速搭建SVN版本库服务器端内容介绍到这。

【编辑推荐】

  1. 搭建SVN版本库服务器端,使用SVN命令行也可实现
  2. 深入剖析opensuse10.3上如何搭建SVN服务器
  3. RedHat系统下如何搭建SVN服务器大揭秘
  4. Windows下搭建SVN服务器简明步骤
  5. 学习笔记: 如何删除SVN版本控制信息

 

责任编辑:佚名 来源: csdn.net
相关推荐

2010-06-02 19:26:41

搭建SVN版本库服务器

2010-06-01 19:06:27

删除SVN

2010-06-02 19:48:23

搭建SVN服务器

2010-06-02 19:01:38

搭建SVN服务器

2010-05-27 18:49:38

SVN入门

2010-06-01 19:14:53

SVN命令行

2010-05-28 10:10:49

2010-06-02 18:29:36

搭建SVN

2014-08-06 11:25:00

LinuxSVN服务器

2009-12-09 09:25:52

Linux命令行svn命令

2009-06-10 16:25:02

2010-05-25 09:32:04

搭建SVN服务器

2010-06-01 19:24:40

SVN命令行

2010-05-27 14:48:45

SVN命令行使用说明

2009-08-11 09:58:22

Linux命令行Linux命令svn命令

2010-05-31 19:41:17

SVN客户端配置

2010-05-24 09:59:54

SVN服务器搭建

2010-05-28 10:35:46

SVN搭建测试服务器

2010-05-25 08:46:12

2010-05-21 13:07:14

Windows下SVN
点赞
收藏

51CTO技术栈公众号