SVN在LINUX下使用指南
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,user2Develop=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 co2、往版本库中添加新的文件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 ci4、加锁/解锁svn lock -m "LockMessage" [--force] PATH例如:svn lock -m "lock test file" test.phpsvn unlock PATH5、更新到某个版本svn update -r m path例如:svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
linux环境svn使用方法 -回复

linux环境svn使用方法-回复标题:Linux环境下使用SVN的详细步骤及注意事项引言:在软件开发过程中,版本管理是非常重要的环节之一。
Subversion(简称SVN)是一种流行的开源版本控制系统,广泛用于团队协作开发。
在Linux 环境下,SVN提供了强大的版本控制功能,本文将详细介绍SVN的安装、配置和使用方法,并提供一些建议和注意事项。
一、安装SVN:1. 使用apt-get命令进行安装:打开终端,输入以下命令安装SVN:sudo apt-get install subversion系统会自动下载并安装SVN。
2. 检查安装是否成功:安装完成后,可以通过以下命令验证是否成功安装SVN:svn version如果显示出SVN的版本信息,说明安装成功。
二、创建版本库:1. 创建版本库目录:首先,在合适的位置创建一个目录以存放版本库。
mkdir /svnrepos2. 使用svnadmin命令创建版本库:进入目录并使用svnadmin命令创建版本库:cd /svnrepossvnadmin create myrepo这将在当前目录下创建一个名为myrepo的版本库。
三、配置SVN:1. 修改svnserve.conf文件:进入myrepo/conf目录,并修改svnserve.conf文件:cd /svnrepos/myrepo/confsudo vi svnserve.conf找到并修改以下行:#anon-access = read#auth-access = write分别改为:anon-access = noneauth-access = write2. 修改passwd文件:继续在myrepo/conf目录下修改passwd文件:sudo vi passwd增加用户名和密码,格式为:[users]username = password四、启动SVN服务:1. 启动svnserve:返回myrepo目录,并使用svnserve命令启动服务:cd /svnrepos/myreposudo svnserve -d -r /svnrepos/myrepo2. 检查服务是否启动:使用以下命令检查svnserve是否在运行:ps -ef grep svnserve如果返回有关svnserve的进程信息,说明服务已经成功启动。
在linux中如何使用Subversion和RabbitVCS

在linux中如何使⽤Subversion和RabbitVCS Subversion (svn) is a cross platform version control open source tool.To install Subversion:sudo apt-get install subversionor use yum for red hat or build from the source package.RabbitVCS – linux counter part of the TortoiseSVN. Its a client for the subversion – this helps in using version control without going to the command mode. Its easy to use, install and integrates to nautilus – means your version control is just a right click away.Install RabbitVCS : check this(nautilus needs to restart after RabbitVCS installation. Just logout and login once and on right click RabbitVCS option will come)Step 1: to create a repository.I am doing this for repository in local machine. (while repository can be in some centralized system also).To create a repository in local file system, first create a folder (with any name, but name likesvn_repository would help). Right click on the folder, go to RabbitVCS -> create repository here.Repository creation succesful.Step 2: create a working directory (where you will be doing your editing, creating works). Put some file.Right click -> checkout.Step 3: This is important. To give the repository URL. (this also accepts HTTP/HTTPS repositories). For local repository the path name must be preceded by file:// in the URL field.Check if destination folder is the working directory you wanted, else modify it.Step 4: On success, it should display a small green tick mark on the right top of the folder name. This means, Subversion is now watching your folder. Any change/modification to thisfolder, svn will keep track of.Step 5: To checkin any file – right click->Commit. Always give appropriate comments, else its become hard to track the changes.After any modification to the file(s) inside the working directory, the green tick mark will change to red "!" (exclamatory) mark, which means there's some changes in the folder which aren't yet checked in to repository. Either you can right click on the directory -> commit. Or go to each file right click and commit.Some common error faced during the process:Error: not a working copyCause/Solution: Either you are trying to checkout the wrong directory – like the repository itself, or the repository path is wrong.Error: svn: Unable to open an ra_local session to URLSolution: For local repository use file:// before the path of the repository directory.Some video tutorial for RabbitVCS usage:/view_play_list?p=CF673C5743AC9BDE。
linux下搭建SVN手册

linux下搭建SVN服务器完全手册ubuntu14.0 + ssh + yum一,安装必须的软件包.yum install subversion (SVN服务器)mysql-server (用于codestriker)httpd mod_dav_svn mod_perl (用于支持WEB方式管理SVN服务器)sendmail (用于配置用户提交代码后发邮件提醒)wget gcc-c++ make unzip perl* (必备软件包)ntsysv vim-enhanced (可选)二,基本的SVN服务器配置1,新建一个目录用于存储SVN所有文件# mkdir /home/svn2,新建一个版本仓库# svnadmin create /home/svn/project3,初始化版本仓库中的目录# mkdir project project/serverproject/client project/test (建立临时目录)# svn import project/file:///home/svn/project -m "初始化SVN目录"# rm -rf project (删除临时建立的目录)4,添加用户要添加SVN用户非常简单,只需在/home/svn/project/conf/passwd文件添加一个形如“username=password"的条目就可以了.为了测试,我添加了如下内容:[users]# harry = harryssecret# sally = sallyssecretpm = pm_pwserver_group = server_pwclient_group = client_pwtest_group = test_pw5,修改用户访问策略/home/svn/project/conf/authz记录用户的访问策略,以下是参考:[groups]project_p = pmproject_s =server_groupproject_c =client_groupproject_t = test_group[project:/]@project_p = rw* =[project:/server]@project_p = rw@project_s = rw* =[project:/client]@project_p = rw@project_c = rw* =[project:/doc]@project_p = rw@project_s = rw@project_c = rw@project_t = rw* =以上信息表示,只有pm有根目录的读写权,server_group能访问server目录,client_group能访问client目录,所有人都可以访问doc目录.6,修改svnserve.conf文件,让用户和策略配置升效.svnserve.conf内容如下:[general]anon-access = noneauth-access = writepassword-db =/home/svn/project/conf/passwdauthz-db =/home/svn/project/conf/authz7,启动服务器# svnserve -d -r /home/svn8,测试服务器# svn co svn://192.168.60.10/projectAuthentication realm:<svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18dPassword for 'root':Authentication realm:<svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18dUsername: server_groupPassword for 'server_group':svn: Authorization failed ( server_group 没用根目录的访问权 )# svn co svn://192.168.60.10/projectAuthentication realm:<svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18dPassword for 'root':Authentication realm:<svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18dUsername: pmPassword for 'pm':A project/testA project/serverA project/clientChecked out revision 1. ( 测试提取成功 )# cd project/server# vim main.c# svn add main.c# svn commit main.c -m "测试一下我的C 程序,看什么看,不行啊??"Adding main.cTransmitting file data .Committed revision 2. ( 测试提交成功 )三,配置SVN服务器的HTTP支持1,转换SVN服务器的密码由于SVN服务器的密码是明文的,HTTP服务器不与支持,所以需要转换成HTTP支持的格式。
Linux下SVN客户端的使用方法融金教育

Linux下SVN客户端的使用方法一、SVN介绍Svn库地址介绍:https:协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议服务器IP例:ylqzqf:仓库名二、svn功能说明1.检出(check out)功能:从SVN库中取出已有的文件.⏹命令行操作:□在本地创建工作空间,创建一个空的文件夹$>mkdir filename□在新建文件夹下执行命令:svn checkout path(path是svn库地址)(简写命令svn co),例:2.提交(commit)功能:将工作复本中修改的文件或新添加的文件提交到服务器中,使修改正式生效;提交后其他人更新后即可获取你所做的修改。
⏹命令行操作:□对于已在版本控制列表中文件的修改后提交命令:svn commit –m “日志信息”要提交的文件(简写命令svn ci)$>svn commit –m “日志信息” file⏹往svn库中添加新的文件□先将文件加到版本控制列表中,命令:svn add file$>svn add file然后“svn commit”3.删除文件(svn d elete)功能:删除误提交或不需要的文件。
⏹命令行操作:□命令:svn delete path -m “删除理由“$>svn delete -m “删除理由”□然后在本地svn update,本地对应的文件将会删除。
4.更新(update)功能:获取其他用户对文件进行的修改,与自己的文件的修改进行合并,保证本地的文件总是最新的。
⏹命令行操作:□默认更新到最新版本命令:svn update file(简写命令svn up)$>svn update file□更新到指定版本$>svn update –r m file5.查看日志(svn l og)功能:查看某一目录或某一文件的历史记录。
⏹命令行操作:□命令:svn log file$>svn log file6.比较文件(svn diff )功能:比较svn库中某一文件在不同版本中的修改情况。
linux下常用的svn操作

1:checkout命令:从svn版本库中取代码时可以先查看具体代码的路径,windows下右键单击Tortoise->repo_browser 可直接查看,linux下可以输入命令:svn list 版本库地址如图:Checkout时命令是:Svn checkout 版本库地址如图:注意在目前的svn版本中必须checkout一个文件夹下来,只checkout单个文件会提示失败。
如图:若想查看svn上某个具体文件,从而决定是否要checkout当前版本下来,可以执行命令:svn cat 文件在版本库上的地址。
下载好代码后可以通过执行ll –a 命令查看文件信息,可以看到在下载好的文件夹下有一个.svn 文件夹,该文件夹是用来维护工作拷贝信息的,保证拥有该文件夹的读写权限,就可以对下载的代码进行commit等一系列操作。
如图:2:commit命令:将本地的修改工作拷贝上传到svn 服务器中,保证版本库的一致具体命令是:svn commit 要上传的文件路径–m “日志信息”如图:日志信息可以为空。
注意提交时需将该文件更新,在上传,否则出错。
若当前上传的文件不是从svn上checkout下来的文件,会提示不是工作副本,无法上传。
3:import 命令:将本地代码上传到版本库中进入到需要上传代码的目录,执行命令:Svn import 想要上传到svn的路径-m “上传的日志信息”–no-ignore如图:注意上传时需添加日志选项-m ,可以为空,并且需要添加选项—no-ignore因为svn上传时会默认屏蔽掉so .o 等文件,导致上传上去的代码不完整,若上传一半出错提示某些文件无法识别,最好将该文件的父文件夹打包上传,就可以成功传上去了。
4:log 命令查看svn版本库的日志信息,具体命令是:Svn log 查看日志信息的文件名如图:5:update命令:将当前文件更新到版本库上某个具体版本文件具体命令是:Svn update –r 要更新的版本号文件路径如图:6:add 命令:往版本库中添加新的文件add 功能:向文件拷贝所在的文件夹中添加新的文件,并作出标识,是新添加的,下一步提交时将一并提交到Subversion版本库中去。
Linux下多项目SVN配置方法

1. 安装SVN服务器软件2. 在home下创建svn根目录mkdir /home/svnroot3. 在/home/svnroot下创建Project1 , Project 2, Project3 三个项目文件夹,这三个文件夹要存放不同项目的SVN版本库。
4. 同样在/home/svnroot中创建CodeAuth 文件夹,该文件夹将保存passwd 和authz文件,在第6步中实现。
5. 创建项目cd /home/svnrootsvnadmin create Project1svnadmin create Project2svnadmin create Project3分别创建了三个项目的版本库,版本库目录conf中存在passwd 、authz、和svnserve.conf 文件passwd - 用于存放本svn库的用户名和密码authz - 存放本svn库的访问授权信息svnserve.conf 文件为存放本svn库的全局访问控制信息6. 将passwd 、authz文件拷贝到/home/svnroot/CodeAuth中,将三个项目下conf目录中的passwd 和authz文件删除7. 修改三个项目中conf目录下的svnserve.conf 文件,最快的办法是修改一个项目下的svnserve.conf 文件,使用它覆盖其他两个项目下的svnserve.conf 文件。
svnserve.conf 修改为[general]anon-access = none auth-access = writepassword-db = /CodeAuth/passwdauthz-db = /CodeAuth/authz 8. 修改/home/svnroot/CodeAuth下的passwd文件为[users] admin=admin0019. 修改/home/svnroot/CodeAuth下的Authz文件为[groups] admin_group=admin[Project1:/]@admin_group=rw*=[Project2:/]@admin_group=rw*=[Project3:/]@admin_group=rw*=10. 启动SVN服务svnserve -d -r /home/svnrootOK,服务器端配置完毕!。
搭建linux svn和win svn运用

搭建linux svn和win svn运用一、安装:#yum install subversion (centos)测试是否安装成功#svnserve --version3、创建svn版本库目录mkdir -p /var/svn/svnrepos4、创建版本库svnadmin create /var/svn/svnrepos执行了这个命令之后会在/var/svn/svnrepos目录下生成如下这些文件5、进入conf目录(该svn版本库配置文件)authz文件是权限控制文件passwd是帐号密码文件svnserve.conf SVN服务配置文件6、设置帐号密码vi passwd在[users]块中添加用户和密码,格式:帐号=密码,如dan=dan7、设置权限vi authz在末尾添加如下代码:[/]dan=rww=r意思是版本库的根目录dan对其有读写权限,w只有读权限。
8、修改svnserve.conf文件vi svnserve.conf打开下面的几个注释:anon-access = read #匿名用户可读auth-access = write #授权用户可写password-db = passwd #使用哪个文件作为账号文件authz-db = authz #使用哪个文件作为权限文件realm = /var/svn/svnrepos # 认证空间名,版本库所在目录9、启动svn版本库svnserve -d -r /var/svn/svnrepos10、在windows上测试新建一个测试文件夹,在该文件夹下右键选择 SVN checkout如下图(要事先安装TortoiseSVN):填写SVN的地址,如下图:1.Windows系统下svn使用1)安装客户端:/downloads2)建立工作目录:新建一个文件夹(工作目录),右击选择checkout,填写URL和用户名密码也可在我的电脑或桌面空白处直接右键-checkout,填写URL和用户名密码,输入本地文件夹名称即可。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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
(显示文件和子目录状态)
第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。
注: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 是上一版本,也可以写具体版本号,这样输出结果是可以提交的)。