svnforlinux
‘壹’ 在linux下如何下载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 可以再次提交。
‘贰’ 如何在linux上安装svn1.8.11
1、安装
如果有yum,则很简单,安装两个包就可以了
yuminstallsubversion.x86_64
yuminstallsubversion-devel.x86_64
如果是源码包,则需要补全,比较复杂,
apr-1.2.8.tar.gzapr-util-1.2.8.tar.gzBerkeleyDB4.0.14
可以到http://www.iusesvn.com/查找方法
2、创建工程
非数据库格式
/usr/local/subversion/bin/svnadmincreate--fs-typefsfs/var/svnroot/test
数据库格式
/usr/local/subversion/bin/svnadmincreate--fs-typebdb/var/svnroot/test
3、配置访问用户
创建工程后,在对应工程目录下会增加conf目录,配置其中的三个文件
ls/var/svnroot/test
authzpasswdsvnserve.conf
首先编辑svnserve.conf,打开项目
anon-access=none#不允许匿名访问
auth-access=write#允许写入操作
password-db=passwd#启用认证文件模式
authz-db=authz
编辑passwd增加相应用户名和密码
harry=harryssecret
编辑authz,这里工程名为test,工程的根一下harry都具有读写权限
[test:/]
harry=rw
4、启动服务
/usr/local/subversion/bin/svnserve-d-r/var/svnroot/
停止服务,采用直接kill进程的方法
5、备份工程
svnadminmp/var/svnroot/test/back
远程可以采用直接rsyncsvn目录到目标主机的办法
‘叁’ linux上svn服务怎么提交修改后的文件
1、首先,连接相应linux主机,进入到linux命令行状态下,等待输入shell指令。
‘肆’ linux下安装SVN报错,请高手解答!
你的APR参数的不对
你要先安装apache,然后安装apr,再然后安装apr-util,然后安装neon,最后才安装subversion
你出现error: the --with-apr parameter is incorrect. It must specify an install prefix, a build directory, or an apr-config file
只有2种可能
1,你没安装apr
2,apr的路径不对
‘伍’ svn在安装在linux和安装在windows下有什么不同
从使用角度来看没什么区别,不管SVN服务器装在什么操作系统上,用各种操作系统都一样可以登录使用。
也就是说你SVN服务器装在linux上,客户端一样可以用windows、linux、unix,完全不受服务器端操作系统影响。
所以一般图省事,我都直接装在windows上
‘陆’ linux系统上svn如何实现权限控制
在你的版本库中有个conf文件夹,在这里有你要编辑的文档来设置权限。
配置SVN
1、 建立版本库目录(可建立多个,新建库后以下各项都需重新配置。注意区别安装目录与版本库目录,以下讲的都是版本库目录)
mkdir –p /home/svn/repos
#类似可以创建 mkdir –p /home/svn/repos2 /home/svn/repos3
2、 建立svn版本库(与上面目录对应)
svnadmin create /home/svn/repos
执行此命令后svn自动在repos目录下添加必须的配置文件.
注意:版本库不同于一般的文件夹, 直接在操作系统上新建文件无法被SVN识别, 必须使用import命令将文件导入版本库.
此为svn内部指令,create用于新建版本库。请使用svn help查看详细说明。
3、 修改版本库配置文件
vi /home/svn/repos/conf/svnserve.conf
各参数功能在配置文件的注释中有说明, 此处配置如下:
[general]
anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = passwd # 指明密码文件路径
authz-db = authz # 访问控制文件
realm = /home/svn/repos # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。其它采用默认配置. 各语句都必须顶格写, 左侧不能留空格, 否则会出错.
4、 配置用户
vi /home/svn/repos/conf/passwd
输入以下内容:
[users]
admin = admin
可以添加多个,此为用户名和密码。
5、 配置权限
vi /home/svn/repos/conf/authz
此配置文件设置各用户的授权。
包括只读r,读写rw。没有列出的用户,则不允许访问。还可以对用户分组,具体请参考svn手册,以下是简单例子:
#对仓库repos根目录权限设置
[repos:/]
admin = rw
* = r
7、 启动服务
svnserve -d -r /home/svn/
‘柒’ linux系统下怎么使用svn
方法/步骤 首先要先下载svn。 输入:sudo apt-get install subversion 2 接下来就可以使用SVN了。 先检出服务器上的文件。本经验再SAE上搭建了一个wordpress,所以在这里以此为例。 输入:svn checkout 地址
‘捌’ 关于在svn在linux中安装报错的问题,请大侠帮忙解决
需要安装或升级sqlite这个软件包 或者指定sqlite源码包的路径 你试试看
‘玖’ linux 下如何启动SVN服务
先转到SVN的安装目录,比如,你安装在/home/svn下面。然后转到bin目录下,在这里可以看见一个叫svnserve的文件,我们需要用这个来启动SVN服务。