linux环境下svn使用命令全集

linux环境下svn使用命令全集
linux环境下svn使用命令全集

svn在linux下的使用(svn命令)

一.Svn 创建新的版本库

#/usr/local/svn/bin/svnadmin create /svn/project/www /*创建仓库"www"

二.添加用户

# /usr/local/apache/bin/htpasswd –c /svn/passwd user1 (user1是用户)

第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加。

第二次添加用户不需要带–c 参数如:

# /usr/local/apache/bin/htpasswd /svn/passwd user2

三.权限分配

#vi /svn/auth.conf(编辑配置权限配置文件,首先要进入这个目录下,利用cd命令)[groups] /*这个表示群组设置

Admin=usr1,user2 /*这个表示admin群组里的成员 user1,user2

Develop=u1, u2 /*这个表示Develop群组里的成员 u1,u2

[www:/] /*这表示,仓库www的根目录下的访问权限

user1 = rw /*www仓库user1用户具有读和写权限

user2 = r /* www仓库userl用户具只有读权限

@develop=rw /*这表示群 develop的成员都具有读写权限

[/] /*这个表示在所有仓库的根目录下

* = r /*这个表示对所有的用户都具有读权限

注意:在编辑authz.conf文件时,所有行都必须要顶头写,不能有缩行出现,否则会报错:"Access denied: 'user1' ",里面的内容可以根据自己的需要自行添加,不必与我上面所写的相同!

四:重启apache服务和启动svn服务

#/usr/local/apache/bin/apachectl –k restart

就可以通过http://192.168.0.1/svn/www 这个URL来访问仓库了,当然,受权限的限制,必须是合法用户才能访问且具有相应的权限

最后启动svn

#/usr/local/svn/bin/svn -d -r /svn/project

-d 表示以 daemon 方式(后台运行)运行

-r /svn/project 指定根目录是/svn/project

检查服务器是否启动正常:

#ps –ef|grep svnserve

如果显示如下,即为启动成功:

Root 6941 1 0 15:07 ? 00:00:00 svnserve -d ——listen-port 9999 -r /svn 其他常用命令

1、将文件checkout到本地目录

svn checkout path(path是服务器上的目录)

例如:svn checkout svn://192.168.1.1/pro/domain

简写:svn co

2、往版本库中添加新的文件

svn add file

例如:svn add test.php(添加test.php)

svn add*.php(添加当前目录下所有的php文件)

3、将改动的文件提交到版本库

svn commit -m "LogMessage" [-N][--no-unlock] PATH(如果选择了保持锁,就使用

--no-unlock开关)

例如:svn commit -m "add test file for my test" test.php

简写:svn ci

4、加锁/解锁

svn lock -m "LockMessage" [--force] PATH

例如:svn lock -m "lock test file" test.php

svn unlock PATH

5、更新到某个版本

svn update -r m path

例如:

svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。

svn update -r 200 test.php(将版本库中的文件test.php还原到版本200)

svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit) 简写:svn up

6、查看文件或者目录状态

1)svn status path(目录下的文件和子目录的状态,正常状态不显示)

【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】

2)svn status -v path(显示文件和子目录状态)

第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。

注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。

简写:svn st

7、删除文件

svn delete path -m "delete test fle"

例如:svn delete svn://192.168.1.1/pro/domain/test.php -m "delete test file"

或者直接svn delete test.php 然后再svn ci -m 'delete test file‘,推荐使用这种

简写:svn (del, remove, rm)

8、查看日志

svn log path

例如:svn log test.php 显示这个文件的所有修改记录,及其版本号的变化

9、查看文件详细信息

svn info path

例如:svn info test.php

10、比较差异

svn diff path(将修改的文件与基础版本比较)

例如:svn diff test.php

svn diff -r m:n path(对版本m和版本n比较差异)

例如:svn diff -r 200:201 test.php

简写:svn di

11、将两个版本之间的差异合并到当前文件

svn merge -r m:n path

例如:svn merge -r 200:205 test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)

12、SVN 帮助

svn help

svn help ci

13、版本库下的文件和目录列表

svn list path

显示path目录下的所有属于版本库的文件和目录

简写:svn ls

14、创建纳入版本控制下的新目录

svn mkdir: 创建纳入版本控制下的新目录。

用法: 1、mkdir PATH...

2、mkdir URL...

创建版本控制的目录。

1、每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增

调度,以待下一次的提交。

2、每个以URL指定的目录,都会透过立即提交于仓库中创建。

在这两个情况下,所有的中间目录都必须事先存在。

15、恢复本地修改

svn revert: 恢复原始未改变的工作副本文件 (恢复大部份的本地修改)。revert:

用法: revert PATH...

注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复

被删除的目录

16、代码库URL变更

svn switch (sw):更新工作副本至不同的URL。

用法: 1、switch URL [PATH]

2、switch --relocate FROM TO [PATH...]

1、更新你的工作副本,映射到一个新的URL,其行为跟“svn update”很像,也会将

服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的

方法。

2、改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动

(比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用这个命令更新工作副本与仓库的对应关系。

17、解决冲突

svn resolved:移除工作副本的目录或文件的“冲突”状态。

用法: resolved PATH...

注意: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的相关文件,然后让 PATH 可以再次提交。

18、输出指定文件或URL的内容。

svn cat目标[@版本]...如果指定了版本,将从指定的版本开始查找。

svn cat -r PREV filename > filename (PREV 是上一版本,也可以写具体版本号,这样输出结果是可以提交的)

LINUX下SVN安装

环境 1. 安装Apache 2.2.14 2. 安装Subversion 1.6.6 3. 安装后的系统设置 4. Apache设置 5. svn库的配置 6. 运行SVN服务器 Created by okala at 2009-12-25 环境: Red Hat Enterprise Linux Server release 5.3 (Tikanga) httpd-2.2.14.tar.gz subversion-1.6.6.tar.gz 到官网https://www.360docs.net/doc/0218469951.html,/ 下载当前最新的稳定版本subversion-1.6.6.tar.gz 到官网https://www.360docs.net/doc/0218469951.html,/ 下载当前最新的稳定版本httpd-2.2.14.tar.gz 1. 安装Apache 2.2.14 用root账号执行以下命令: 引用 tar zxf httpd-2.2.14.tar.gz #解压到当前目录 引用 cd httpd-2.2.14 #进入解压后的目录 引用

./configure --prefix=/local/svnroot/apache2 --enable-so --enable-mods-shared=all --enable-dav=share --enable-dav-fs --with-ldap --enable-ldap --enable-authnz-ldap --enable-authn-alias #定义安装的目标路径(可据自己需要修改),使能LDAP 引用 make #编译 引用 make install #安装 引用 /local/svnroot/apache2/bin/apachectl start #启动Apache 用IE访问以下网址,http://hostIP/,如果提示It works!,则Apache安装成功。 然后就可以先停止Apache了: 引用 /local/svnroot/apache2/bin/apachectl stop #停止Apache 2. 安装Subversion 1.6.6 用root账号执行以下命令: 引用 tar zxf subversion-1.6.6.tar.gz #解压到当前目录 引用 cd subversion-1.6.6

svn命令大全

svn命令通常都有帮助,可通过如下方式查询: $ svn help 知道了子命令,但是不知道子命令的用法,还可以查询: $ svn help add 开发人员常用命令 (1) 导入项目 $ cd ~/project $ mkdir -p svntest/{trunk,branches,tags} $ svn import svntest https://localhost/test/svntest --message "Start project" ... $ rm -rf svntest 我们新建一个项目svntest,在该项目下新建三个子目录:trunk,开发主干;branches,开发分支;tags,开发阶段性标签。然后导入到版本库test下,然后把svntest拿掉。 (2) 导出项目 $ svn checkout https://localhost/test/svntest/trunk 修订版本号的指定方式是每个开发人员必须了解的,以下是几个参考例子,说明可参考svn推荐书。 $ svn diff --revision PREV:COMMITTED foo.c # shows the last change committed to foo.c $ svn log --revision HEAD # shows log message for the latest repository commit $ svn diff --revision HEAD # compares your working file (with local changes) to the latest version # in the repository $ svn diff --revision BASE:HEAD foo.c # compares your “pristine” foo.c (no local changes) with the # latest version in the repository

linux下搭建svn服务器(doc 8页)

linux下搭建svn服务器(doc 8页)

Linux下搭建SVN服务器环境(svnserve方式) 环境:redhat5(apr.apr-util.zlib.subversion的压缩文件都是放在/usr/linuxsvn目录下,下面的解压命令tar zvxf解压出来的文件就直接是放在这个目录下,文件名跟压缩文件的名字是一样的) 一、安装apr、apr-util跟zlib 1、下载apr、apr-util与zlib apr-1.3.3.tar.gz apr-util-1.3.4.tar.gz zlib-1.2.3.tar.gz openssl-0.9.8k.tar.gz httpd-2.2.9.tar.bz2 libxml2-2.7.3.tar.gz 2、解压 tar zvxf apr-1.3.3.tar.gz

打开浏览器输入http://服务器ip 如果出现 It Works! Apache安装成功 如果出现这个错误Invalid command 'AuthDigestProvider', perhaps misspelled or defined by a module not included in the server configuration /usr/local/apache2/conf/extra/httpd-dav.conf 提示这个文件31行有问题,那么你就 Vi /usr/local/apache2/conf/extra/httpd-dav.conf 找到31行,把这个注释掉# AuthDigestProvider file 这样就ok了! cd openssl-0.9.8k ./config --prefix=/usr/local/ssl/ make make install cd libxml2-2.7.3 vi INSTALL ./configure --help ./configure make make install cd openssl-0.9.8k ./config ./config -t

使用SVN命令行工具

使用SVN命令行工具 如果你不知道命令怎么用svn命令,可通过如下方式查询:svn help知道了子命令,但是不知道子命令的用法,还可以查询:svn help ci 开发人员常用命令导入项目svn import https://www.360docs.net/doc/0218469951.html,:82/pthread --message "Start project"导出项目svn checkout https://www.360docs.net/doc/0218469951.html,:82/pthread采用export 的方式来导出一份“干净”的项目svn export https://www.360docs.net/doc/0218469951.html,:82/pthread pthread为失败的事务清场svn cleanup在本地进行代码修改,检查修改状态svn status -vsvn diff更新(update)服务器数据到本地svn update directorysvn update file增加(add)本地数据到服务器svn add file.csvn add dir对文件进行改名和删除svn mv b.c bb.csvn rm d.c提交(commit)本地文档到服务器svn commitsvn cisvn ci -m "commit"查看日志svn log directorysvn log file相关的一些东西:1、在本地文件中,每个目录下都有一个.svn文件夹(属性为隐藏),保存了相关的信息。2、注册环境变量SVN_EDITOR为"E:\Program Files\Vim\vim71\gvim.exe",结果在svn ci的时候,出现错误:'E:\Program' 不是内部或外部命令,也不是可运行的程序或批处理文件。svn: 提交失败(细节如下):svn:

SVN命令使用手册

SVN命令使用手册修改版本记录 M:修改A:添加D:删除

SVN命令使用 一、常用命令 1.Svnadmin create创建库 svnadmin create path 在windows版本上: D:\>svnadmin create test2 D:\> 通过dir来列出目录中文件,已经包含test2,如图1所示: 图1 说明此时已经成功建立 2.Svn import导入项目 svn import project_path svn_lib_path -m “comment” 举例: 假设有一个工程名称unismg,代码的文件目录是unicom; A、我们在D盘新建目录unismg,在此目录下新建三个文件目录,如图2所示: 图2

trunk中存放的是项目主线;branches中存放源码分支;tags存放在开发过程中做的标签。 B、我们将代码unicom放到d:\unismg\trunk\中 C、执行命令D:\>svn import d:\unismg file:///d:/test2/unismg -m "initial import unismg" 结果如图3所示: 图3 这样我们就将工程代码导入svn库中管理。此时删除D:\>unismg目录也没有关系,因为你的源代码已经在SVN库中管理了。 有人会有疑问,为什么我到test2目录中去找*.c文件怎么一个没有找到啊,是的SVN 管理代码,并不是简单的保存文件,而是利用bdb管理的,所以你看不到源码存在。 之后你可以使用后续的命令来工作了。 多说一句,关于svn_lib_path的几种形式: file:///直接版本访问(本地磁盘) http://通过配置subversion的Apache服务器的WebDAV协议 https://与http://相似,只不过增加了ssh协议 Svn://通过svnserver服务自定义的协议 Svn+ssh://与svn://相似,但是通过SSH协议封装 比如,联通在信网关在30.251linux服务器上,使用的是svnserver服务自定义的协议,那么,导入工程代码时应采用的命令是: svn import $path/proj/unismg svn://192.168.30.251:3482-m "initial import unismg" 3.Svn co: 将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 举例: svn co svn://192.168.30.251:3482/trunk/unicom 下面信息就是从库中下载的代码信息。

UNIX LINUX开发环境使用SVN方法探讨

Unix&Linux开发环境使用SVN方法探讨一、 DAS现有的工作模式: 二、使用SVN的工作方式

三、DAS开发环境 DAS系统的开发环境种类多,常用到有Solaris、AIX、HP-UX、Redhat等,SVN命令行支持所有的开发平台,可以通过SVN命令快速执行操作。也可以通过JAVA的方式,运行在Eclipse或者第三方图形工具。 SVN支持平台列表 四、SVN客户端常用命令简介: 1、检出 svn co http://路径(目录或文件的全路径)[本地目录全路径] --username用户名--password密码svn co svn://路径(目录或文件的全路径)[本地目录全路径] --username用户名--password密码 svn checkout http://路径(目录或文件的全路径)[本地目录全路径] --username用户名 svn checkout svn://路径(目录或文件的全路径)[本地目录全路径] --username用户名 注:如果不带--password参数传输密码的话,会提示输入密码,建议不要用明文的--password 选项。 其中username与password前是两个短线,不是一个。 不指定本地目录全路径,则检出到当前目录下。 例子: svn co svn://192.168.0.3/测试工具/home/testtools--username wzhnsc svn co http://192.168.0.3/test/testapp --username wzhnsc svn checkout svn://192.168.0.3/测试工具/home/testtools--username wzhnsc svn checkouthttp://192.168.0.3/test/testapp --username wzhnsc 2、导出(导出一个干净的不带.svn文件夹的目录树) svn export[-r版本号] http://路径(目录或文件的全路径) [本地目录全路径] --username用户名 svn export[-r版本号] svn://路径(目录或文件的全路径) [本地目录全路径] --username用户名 svn export本地检出的(即带有.svn文件夹的)目录全路径要导出的本地目录全路径注:第一种从版本库导出干净工作目录树的形式是指定URL, 如果指定了修订版本号,会导出相应的版本, 如果没有指定修订版本,则会导出最新的,导出到指定位置。 如果省略本地目录全路径,URL的最后一部分会作为本地目录的名字。

SVN使用手册大全(史上最全)

目录 1.修改SVN访问密码 (1) 2.SVN客户端使用说明 (2) 2.1.安装SVN客户端 (2) 2.2.迁出配置库内容 (3) 2.3.维护工作文件 (4) 2.3.1.增加文件 (4) 2.3.2.更新文件 (8) 2.3.3.删除文件 (9) 2.3.4.修改文件 (10) 2.3.5.比较版本差异 (10) 2.3.6.撤销更改 (13) 2.3.7.锁定和解锁 (13) 2.3.8.重命名文件 (14) 2.3.9.获取历史文件 (14) 2.3.10.检查冲突 (15) 2.3.11.解决冲突 (16) 2.3.12.忽略无需版本控制的文件 (16) 2.3.13.去除SVN标志 (17) 2.3.14.查看文件每行的修改信息 (17) 2.3.15.重置访问路径 (18) 2.3.16.本地路径转换 (18) 2.4.浏览版本库 (18) 2.5.建立标签 (19) 2.6.建立分支 (19) 2.7.清除用户名等信息 (20) 2.8.统计信息 (21) 3.MYECLIPSE集成SVN (23) 3.1.安装SVN插件 (23) 3.2.配置M Y E CLIPSE提交目录 (28)

1. 修改SVN访问密码 打开IE,在地址栏中输入地址:http:// /svnmanager/index.php,进入SVNManager的欢迎界面,如下图所示: 点击“登陆”按钮进入登陆界面,如下图所示: 输入已知的用户名和密码,点击“登陆”按钮进入用户管理界面,点击“用户管理”按钮显示“编辑用户”菜单,如下图所示: 点击“编辑用户”按钮,进入用户信息修改界面,如下图所示:

linux-SVN的介绍及使用方法

一、Linux-SVN的介绍及使用方法 1. SVN简介 SVN 是subversion简称,是一个开源的版本控制系统。我们在解bug过程中主要用于对解决某个bug而引起代码变动的情况(俗称patch)的提交,系统集成组在某一时间会取出SVN中一定阶段内提交的patch进行集成,从而更新系统的版本。 linux系统中安装svn,主要使用命令apt-get install subversion 2. SVN使用 2.1 从SVN服务器拷贝svn目录 命令:$ svn co http://255.255.255.255(IP地址)/svn/ 可先登录http://255.255.255.255/svn,输入用户名和密码(需在管理员处开通相应上传下载权限) ①svn add命令 用于将patch提交至本地版本库(加入版本控制),还未提交至远程服务器,不会更改远程(http://255.255.255.255/svn/)上的内容。另外,svn revert是撤销此次添加(这里不常用)。 $ svn add 007_fix_name_issue_000000.patch 该命令执行后,终端显示情况如下: ②svn commit命令 将本地版本中添加的文件上传到远程服务器上,更新服务器上的内容。 $ svn commit 007_fix_name_issue_000000.patch -m "fix name issue (as an example)" 其中-m 表示-message,“”中的内容表示该patch具体修改问题的描述信息,描述信息必不可少!有助于后续patch提交与否的验证。 该命令执行后,终端显示情况如下:

linux下svn管理员手册

1.安装apr tar xvfz apr-0.9.17.tar.gz ./configure 2.安装apr-util tar xvfz apr-util-0.9.15.tar.gz ./configure --with-apr=/usr/local/apr/ 3.安装subversion-1.5.3 ./configure --prefix=/usr/local/svn --with-apr=/usr/local/apr/ --with-apr-util=/us r/local/apr-util/ 4.创建库文件所在的目录 mkdir /export/svncheck/ 创建版本库 mkdir /export/svncheck/版本库名 /usr/local/svn/bin/svnadmin create /export/svncheck/版本库名 5.启动SVN /usr/local/svn/bin/svnserve -d -r /export/svncheck/ 配置用户和权限 创建项目库同时也会建立自己的权限配置文件,权限配置目录: /export/svncheck/版本库名/conf/ 1. 修改svnserve.conf: # auth-access = write # password-db = passwd 改为:(将#和空格去掉) auth-access = write //通过验证的用户才能有读写的权限 password-db = passwd //验证用户所使用的文件passwd 2. 添加用户 修改同目录的passwd文件 [users] admin = 123456 //以名值的方式存储用户名和密码“用户名 = 密码” 3. 设置访问权限 修改同目录下的authz文件来设置访问权限 在[groups]下创建用户组例如这里是: [groups] Admin=admin Developer=developer1,developer2 以上便创建了两个用户组,分别是admin和developer和其相应的组的成员。 设置访问路径 [/] *=r @admin=rw

svn常用命令详解

一.SVN导出(check out 和export的区别) 1.check out跟check in对应,export跟import对应; 2.check out导出获得文件后,导出的文件仍处于SVN版本控制中,与版本库保持关 联,比如你可以进行Svn Update或者Svn Commit操作。同时导出文件夹下有一个.svn的隐藏文件夹,存储着一些版本的元数据信息。 3.export 简单导出一个版本的数据,导出的文件脱离SVN版本控制,修改后无进行 Update和Commit操作。导出文件夹下没有.svn目录。 二.linux下svn命令大全 1、将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 2、往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add*.php(添加当前目录下所有的php文件) 3、将改动的文件提交到版本库 svn commit -m “LogMessage“[-N][--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关)

例如:svn commit -m “add test file for my test“test.php 简写:svn ci 4、加锁/解锁 svn lock -m “LockMessage“[--force] PATH 例如:svn lock -m “lock test file“test.php svn unlock PATH 5、更新到某个版本 svn update -r m path 例如: svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。 svn update -r 200 test.php(将版本库中的文件test.php还原到版本200) svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit) 简写:svn up 6、查看文件或者目录状态 1)svn status path(目录下的文件和子目录的状态,正常状态不显示) 【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】 2)svn status -v path(显示文件和子目录状态) 第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改

linux下svn的配置及svn常用命令

SVN是Subversion的简称,是一个开放源代码的版本控制系统,svn服务器有两种运行方式:独立服务器和借助apache运行。右图是一个svn的工作流程,它可以很方便用户的代码编写。 1.首先安装SVN:”sudo apt-get install subversion”. 查看svn的版本和确定是否安装成功:”svnserve –version”. 2.创建svn仓库:“svnadmin create msm”,其中msm是版本仓库的名字,仓库建立好了以后会有出现一个仓库名字的文件夹,文件夹下面有conf等几个目录和文件.接下来就需要设置版本仓库的权限了。这里说明一下:版本库之间是独立的。(下图为msm的目录) 3.增加用户 修改conf文件夹下的authz文件,该配置文件采用”基于路径授权”的策略,中括号里指定路径,以下列出对各用户的授权。包括只读r,读写rw。没有列出的用户,则不允许访问。还可以对用户分组,列子如下 用户组格式: [groups]<用户组名>=<用户1>,<用户2>其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。版本库目录格式: [<版本库>:/项目/目录]@<用户组名>=<权限><用户名>=<权限>, 其中,方框号内部分可以有多种写法: /,表示根目录(仓储目录)及以下。根目录是svnserve启动时指定的,我们指定/opt/svndata。这样,/就是表示对全部版本库设置权限。权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。 下图是我增加的用户组:(注意:等号后留有空格) 增加后:

常用linux svn命令

linux下svn客户端常用命令: 1.svnadmin create path创建一个新的版本库,(path为你想创建版本库的目录路径,如创建版本库目录为cellsms:svnadmin create /home/c7mon/svn/cellsms)。 2.svn mkdir URL 创建目录,向版本库新添加一个目录,(立即提交,所以需要日志信息):如新增trunk目录:svn mkdir file:///home/c7mon/svn/cellsms/trunk -m "此目录的说明信息"。 svn mkdir newdir在工作拷贝下新建一个目录,如新增hello目录,即在工作拷贝(svn checkout数据的目录下):svn mkdir hello。 3.svn import URL向版本库导入数据,需要日志信息。如导入当前目录下wwm目录到版本库trunk目录中:svn import file:///home/c7mon/svn/cellsms/trunk/wwm -m "日志说明信息" 4.svn checkout URL导出一个工作拷贝,cd到你要存放导出数据的目录,如导出wwm 目录:svn checkout file:///home/c7mon/svn/cellsms/trunk/wwm,或svn checkout svn://192.168.3.33/home/c7mon/svn/cellsms/trunk/wwm。svn://方式需要用户名和密码,(svn co为svn checkout简写)。 5.svn commit 提交工作拷贝的修改到版本库中,如对wwm下的文件进行修改后提交:svn commit -m "",""可以为空,最好加上日志说明。svn ci 为其简写。 6.svn add file/dir新添加的文件或目录,此处dir为linux命令mkdir在工作拷贝下创建的目录,不是svn mkdir命令创建的目录,所以需要svn add预订添加。svn add需要在工作拷贝下执行,如在4中svn co出的工作拷贝目录wwm下新添加了hehe.c:svn add hehe.c。然后执行svn commit提交到版本库。 7.svn copy URL URL完全的服务器端拷贝,通常用在分支和标签。如wwm项目完成后发布版本wwm_1.0: svn copy file:///home/c7mon/svn/cellsms/trunk/wwm file:///home/c7mon/svn/cellsms/trunk/tags/wwm_1.0 -m "it's the wwm_1.0 for anhui" 。或svn copy svn://192.168.3.33/home/c7mon/svn/cellsms/trunk/wwm svn://192.168.3.33/home/c7mon/svn/cellsms/trunk/tags/wwm_1.0 -m "it's the wwm_1.0 for anhui"。(tags目录需提前在版本库中建好。) 如果wwm_1.0版本出现BUG,可以拷贝tags目录下的wwm_1.0到建好的branches目录下,然后svn co 出branches下的wwm_1.0进行修改。这样trunk目录下的wwm可以继续进行开发,而不会与branches下1.0版本的修改产生冲突。当branches下的wwm_1.0版本修复bug后,可以使用svn merge命令,将修改的部分合并到trunk下的wwm工程中。 8.svn list URL 显示path目录下的所有属于版本库的文件和目录(简写svn ls) 如列出cellsms下目录信息:svn list svn://192.168.3.33/home/c7mon/svn/cellsms

SVN-高级应用使用指南

文档规则 [本地工作区] :work copy,本地工作副本; [主项目]:引用共用模块的新项目(工程) 最新版本(HEAD revision):版本库里文件或目录的最新版本 SA :SVN服务器的管理员 PRA :单个项目库的管理员,或者是项目负责人 User :普通工作人员 WC :work copy ,本地工作副本 一、模块化开发中svn的使用 主要介绍模块化开发中公用模块/组件的版本控制,介绍两种方法。其中,公用模块一般指那些已经完成的、不可修改的、无法编译成dll的、功能较为完整的代码群。 1.1手工维护公用模块/组件的[本地工作区] 将公用模块(的所需版本)直接取出ckeckout 到本地,公用模块的[本地工作区] 可以作为被引用的[主项目] [本地工作区] 的子目录也可以放在其他独立目录中。[主项目]的提交commit 对公用模块的[本地工作区] 不会发生任何影响,而且公用模块的[本地工作区] 需要项目团队中的每个成员与[主项目] [本地工作区] 相对独立的维护(取出ckeckout ),可能会出现不同项目成员之间的公用模块[本地工作区] 不一致的错误。 1.2 Svn自动维护公用模块/组件的[本地工作区] 需要使用svn:externals属性,具体操作步骤如下:察看[主项目] [本地工作区] 的目录属性

添加svn:externals 属性,格式:子目录名称-r版本号公用模块的URL。公用模块取出ckeckout出来的[本地工作区] 必须作为[主项目][本地工作区] 的子目录,格式中的“子目录名称”就是指公用模块的[本地工作区] 目录名称,注意不要与[主项目]自身的目录同名。如果需要使用公用模块的特殊版本,需要设置格式中的“版本号”,注意加上“-r”。设定好svn:externals属性后需要进行提交commit操作。项目团队的其他成员直接更新update即可,能够自动得到公用模块的[本地工作区]。[主项目]的提交commit对公用模块的[本地工作区] 不会发生任何影响。如果引用多个模块,只需要在设置该属性值的时候将多个模块的路径都填写上去即可。 注意:公用模块的[本地工作区] 一般不建议进行修改,即不要直接对公用模块的[本地工作区] 进行修改、提交commit 操作,建议管理员将公用模块的svn库的权限设置设定为只读权限。如果公用模块确实需要针对[主项目]进行个性化修改,这种情况的处理方法在此次讲座的后面将会谈到。

linux下svn升级

linux下svn升级 环境: 操作系统:RHEL 5.4 x86_64 SVN版本:1.4.2->1.8.8 一、检查安装包 我采用的是目前当前网站发布的版本:subversion-1.8.8 首先,需要安装预先安装六个组件,你的subversion才能正常工作。 apr-util、 apr、pcre、scons 、serf、sqlite-amalgamation -本文假定apahce已经安装! -系统在默认情况下,是已经有apr-util及apr这两个包的,只不过他们的版本较低,只支持subversion 1.4 因此,具体可以看看: # rpm -qa | grep apr apr-util-1.2.7-7.el5_3.2 apr-util-1.2.7-7.el5_3.2 apr-1.2.7-11.el5_3.1 xorg-x11-drv-dynapro-1.1.0-2 apr-1.2.7-11.el5_3.1 而subversion要求较高的版本,为此,我们需要删除系统自带的apr,apr-util 这两个包,强行删掉! # rpm -e --allmatches apr-util error: Failed dependencies: libaprutil-1.so.0()(64bit) is needed by (installed) subversion-1.4.2-4.el5_3.1.x86_64 libaprutil-1.so.0()(64bit) is needed by (installed) httpd-2.2.3-31.el5.centos.x86_64 libaprutil-1.so.0 is needed by (installed) subversion-1.4.2-4.el5_3.1.i386 # rpm -e --allmatches apr-util --nodeps # rpm -e --allmatches apr --nodeps .

svn 常见报错

常见错误提示: 1:?.? is not a working copy. Can?t open file ….svn/entries?:系统找不到指定的路径。 原因是输入的访问路径不正确,如svn://192.168.6.200/如果最后少写了“/”,就会出现这种错误提示。 2:将文件checkout之后,没有出现SVN的图标,是怎么回事? 有些时候在客户端Checkout文件后,SVN的系统图标也会不显示,可以执行一下“Clean up”,就会出现SVN的系统图标。 3:为什么添加的文件,别人看不到,版本库里也没有? 最可能的原因是,你只是执行了“Add”而没有“Commit”,这样只是在本地注明某个文件是预定要增加的,而没有实际添加到版本库中,要添加到版本库必须执行“Commit”。删除文件也是一样。 4 :“Commit failed。……You have to update your working copy first”提交失败,需要首先执行更新操作。多人同时修改同一文件,在提交前其他人已经抢先提交到SVN服务器中,导致该错误;解决方法:对工作复本中的文件进行更新即可。 5. 更新时提示文件发生冲突:“One or more files are not a conflicted state。” 多人同时修改同一文件的同一部分,SVN无法自动进行合并,会导致该错误;解决方法:对工作复本中的文件和服务器的文件进行比较,手工合并即可。 6.“Commit failed;File already exists”提交失败,文件**已存在。 版本管理系统在改变你的计算机上的工作副本时,是非常的小心的。在做任何事情之前,它都尽可能把您的意图写到你的计算机上的日志文件中去。但如果偶然地操作中断了(例如:突然停电了,您的计算机死机了),那么日志文件记录就可能同您最后的工作状态不一致。一种建议解决途径:先把要提交的东西拷出来放到其它目录,再更新本地文件,然后把拷出来的文件重新放回去提交。 7:执行clean up时,出现错误“Subversion reported an error while doing a cleanup!” '**' is not a working copy directory ” 遇到这种情况,先删除隐藏文件夹.svn中的tmp下面的临时文件,再执行clean up。 8:因为仓库与目录很多,使用TSVN每次选择目录URL of repository有很多地址,如何才清除呢?像清除浏览器中的历史那样,用什么方法呢? 右键->TortoiseSVN->Settings->Saved Data,就可以清除你想要的东西了,包括URL、log、窗口大小、密码缓存等。 9:在SVN中选中一个目录show log时,出现了某些版本只显示版本号和(no date),没有其他信息,什么原因引起的? 出现了(no date)的revision,为其他人修改了你所没有权限访问的某个目录下的文件。

Linux下SVN命令使用大全

Linux下SVN命令使用大全 版本号V0.1 修订内容 详细修订日期文件性质 备注正在继续添加和完善... 1、将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 2、往版本库中添加新的文件、目录或符号链 svn add PATH... 例如:svn add test.php(添加test.php) svn add *.php(添加当前目录下所有的php文件) ●文件、目录或符号链到你的工作拷贝并且预定添加到版本库。它们会在下次提交上传并添加到版本库,如 果你在提交之前改变了主意,你可以使用svn revert取消预定。 ●是否访问版本库否 ●选项 --targets FILENAME --non-recursive (-N) --quiet (-q) --config-dir DIR --no-ignore --auto-props --no-auto-props --force ●例子 添加一个文件到工作拷贝: $ svn add foo.c A foo.c 当添加一个目录,svn add缺省的行为方式是递归的: $ svn add testdir A testdir

A testdir/a A testdir/b A testdir/c A testdir/d 你可以只添加一个目录而不包括其内容: $ svn add --non-recursive otherdir A otherdir 通常情况下,命令svn add *会忽略所有已经在版本控制之下的目录,有时候,你会希望添加所有工作拷贝的未版本化文件,包括那些隐藏在深处的文件,可以使用svn add的--force递归到版本化的目录下:$ svn add * --force A foo.c A somedir/bar.c A otherdir/docs/baz.doc … 3、将改动的文件提交到版本库 svn commit -m ―LogMessage― [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock 开关) 例如:svn commit -m ―add test file for my test― test.php 简写:svn ci 4、加锁/解锁 svn lock -m ―LockMessage― [--force] PATH 例如:svn lock -m ―lock test file― test.php svn unlock PATH 5、更新到某个版本 svn update -r m path 例如: svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。 svn update -r 200 test.php(将版本库中的文件test.php还原到版本200) svn update test.php (更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)

SVN常用命令(WINDOWS)

SVN常用命令(windows) 1、将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 2、往版本库中添加新的文件 svn add file 例如:svn addtest.php(添加test.php) svn add*.php(添加当前目录下所有的php文件) 3、将改动的文件提交到版本库 svn commit-m“LogMessage“[-N][--no-unlock]PATH(如果选择了保持锁,就使 用–no-unlock开关) 例如:svn commit-m“add test file for my test“test.php 简写:svn ci 4、加锁/解锁 svn lock-m“LockMessage“[--force]PATH 例如:svn lock-m“lock test file“test.php svn unlock PATH 5、更新到某个版本 svn update-r m path 例如: svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版 本。 svn update-r200test.php(将版本库中的文件test.php还原到版本200) svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit) 简写:svn up 6、查看文件或者目录状态 1)svn status path(目录下的文件和子目录的状态,正常状态不显示) 【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被 锁定】 2)svn status-v path(显示文件和子目录状态) 第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改 人。 注:svn status、svn diff和svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。 简写:svn st 7、删除文件 svn delete path-m“delete test fle“ 例如:svn delete svn://192.168.1.1/pro/domain/test.php-m“delete test file” 或者直接svn delete test.php然后再svn ci-m‘delete test file‘,推荐使用这种 简写:svn(del,remove,rm)

LINUX SVN客户端使用方法介绍

svnaddvalues/strings.xml//--添加 svnst//--查看状态 svnci//--提交svnci-msvnci,permission 1、将文件checkout到本地目录 svncheckoutpath(path是服务器上的目录) 例如:svncheckoutsvn://192.168.1.1/pro/domain 简写:svnco 2、往版本库中添加新的文件 svnaddfile 例如:svnaddtest.php(添加test.php) svnadd*.php(添加当前目录下所有的php文件) 3、将改动的文件提交到版本库 svncommit-mLogMessage[-N][--no-unlock]PATH(如果选择了保持锁,就使用--no-unlock开关) 例如:svncommit-maddtestfileformytesttest.php 简写:svnci 4、加锁/解锁 svnlock-mLockMessage[--force]PATH 例如:svnlock-mlocktestfiletest.php svnunlockPATH 5、更新到某个版本 svnupdate-rmpath

例如: svnupdate如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。 svnupdate-r200test.php(将版本库中的文件test.php还原到版本200) svnupdatetest.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svnresolved,最后再提交commit) 简写:svnup 6、查看文件或者目录状态 1)svnstatuspath(目录下的文件和子目录的状态,正常状态不显示) 【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】 2)svnstatus-vpath(显示文件和子目录状态) 第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。 注:svnstatus、svndiff和svnrevert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。 简写:svnst 7、删除文件 svndeletepath-mdeletetestfle 例如:svndeletesvn://192.168.1.1/pro/domain/test.php-mdeletetestfile 或者直接svndeletetest.php然后再svnci-m'deletetestfile‘,推荐使用这种 简写:svn(del,remove,rm) 8、查看日志 svnlogpath 例如:svnlogtest.php显示这个文件的所有修改记录,及其版本号的变化

相关文档
最新文档