1、linux服务器上的svn 创建分支。 svn://192.168.X.XX/AP 要吧AP创建分支APbranch怎么创建?
创建一个分支
svn copy svn://xx.com/repo/trunk svn://xx.com/repo/branches/TRY-something -m 'make branches TRY-something'
把工作目录转到分支
svn switch svn://xx.com/repo/branches/TRY-something
当然,也可以再转到主干svn switch svn://xx.com/repo/trunk
给当前主干打个标签,并且这个标签不再改动了,但是实际上标签和分支是一个意思,你可以在标签上继续做改动,但这不推荐。
svn copy svn://xx.com/repo/trunk svn://xx.com/repo/tags/RB-1.0
2、linux 搭建的svn服务器怎么访问
举个例子,命令执行创建:svnadmin create /svn 需要修改配置文件,设置账号密码
启动svn服务:svnserve -d -r /svn
svn://IP/svn 就是你的访问路径
pc安装svn客户端,通过检出或者版本库浏览器访问地址即可
3、linux如何搭建svn
先安装SVN服务,然后再进行配置。
安装SVN及配置:
官网下载:http://subversion.apache.org/packages.html
SVN客户端:TortoiseSVN,官网下载:http://tortoisesvn.net/downloads.html
# yum install subversion
1. 新建一个目录用于存储SVN所有文件
# mkdir /svn
2. 新建一个资源仓库
# svnadmin create /svn/project
# ls /svn/project/
conf db format hooks locks README.txt
目录用途说明:
l hooks目录:放置hook脚本文件的目录
l locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端
l format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号
l conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)
3. 配置svn服务的配置文件svnserver.conf文件
# vi /svn/project/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = /svn/project/conf/passwd
authz-db = /svn/project/conf/authz
realm = My Test Repository #这是个提示信息
保存
4. 添加两个访问用户及口令
# vi /svn/project/conf/passwd
[users]
xiaoran.shen = 123456
test1 = 123456
test2 = 123456
保存
注意:对用户配置文件的修改立即生效,不必重启svn服务。
5. 配置新用户的授权文件
# vi /svn/project/conf/authz
[groups]
admin = xiaoran.shen,test1
user = test2
[/]
@admin = rw
@user = r
* =
保存
格式说明:
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
/ 表示对根目录(即/svn/project目录)下的所有子目录范围设置权限;
[/abc] 表示对资料库中abc项目设置权限;
创建一个admin组,组成员包括xiaoran.shen和test1
创建一个user组,成员只有test2;
admin组对目录有读写权限;
单个用户test2有读写权限;
*=表示除了上面设置的权限用户组以外,其他所有用户都设置空权限,空权限表示禁止访问本目录,这很重要一定要加上。
注意:对权限配置文件的修改立即生效,不必重启svn。
6. 启动svn服务
svnserve -d -r /svn/project/
至此,SVN服务器搭建完毕,客户端可以使用svn checkout IP来下载SVN文件。
4、如何配置自己的Linux svnserver服务器
一、新建并初始化版本库
1.新建代码仓库
# svnadmin create /home/myrepos
这样,我们就在/home目录下新建了版本库myrepos。
2.初始化代码仓库
#mkdir -p code/{branches,tags,trunk}
按照svn手册上的建议,我们版本库的布局采用branches/tags/trunk这样的三个目录。然后可以将代码直接拷贝的trunk目录,也可以随后采用svn add的方式添加。
#svn import code file: ///home/myrepos
将我们构造好的版本库布局(以及代码,如果已经拷贝到trunk下的话)提交到版本库。由于这里我们是在本地操作,因此可以直接使用file协议方式提交。格式为:file:// + 版本库绝对的路径
OK,到这里我们已经构建了一个本地版本库,可以再本地使用svn ci的方法得到版本库的副本了。如果前面只是提交了版本库布局,而没有提交代码的话,则可以通过如下命令,提交版本代码:
#svn co file: ///home/myrepos/trunk repos
通常只从主线目录trunk下取出源码,放在了新建的repos目录。然后可以将源码拷贝到repos目录。
执行以下两条命令将代码添加的版本库。
#svn add *
#svn ci * -m "Committed codes"
首先需要将拷贝的代码加入到当前的副本中,然后将代码提交到版本库。
二、配置并启动svnserve
1. 配置svnserve
这一步主要完成远程用户访问版本的权限。
在版本库目录下有个conf目录:home/myrepos/conf,该目录包含三个文件:authz,passwd,svnserve.conf。
(1)svnserve.conf
此文件重点的设置内容如下:
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
其中,anon-acces s和auth-access分别代表设置匿名用户和授权用户的访问权限。read代表只读,write代表可读可写,还有一个none,代表禁止访问。如果不想让匿名用户访问的话,可以设置anon-access = none。
password-db为保存版本库的用户名和密码,通常为conf目录下的passwd文件。
authz-db指向的文件,主要用于将用户进行分组,并赋予不同的组不同的权限。譬如有多个目录时,设置某个组的用户只可以访问其中的那些目录。
(2)passwd
如前面介绍,这个文件的主要内容如下
[users]
harry = harrysecret
sally = sallyssecret
以上两行就是可以访问版本库的用户名和密码。格式为:user = passwd。
(3)authz
[groups]
# harry_and_sally = harry,sally
# [/foo/bar]
# harry = rw
# * =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
以上就是authz文件的格式。先给用户分组,然后分别设置每个组的工作目录以及权限等。
本文的讲解并未用到authz的配置。
2. 启动svnserve
#svnserve -d -r /home/
svnserve将以守护进程的方式运行。同时,通过-r选项指定了版本库的目录。这个目录可以是版本库的上级目录(/home),也可以是版本库的目录(/home/myrepos)。具体的区别会在后面讲到。当然,也可以不用-r指定。
三、远程访问svnserve。
假设版本服务器的地址为10.1.1.1,那么用户可以在远程linux端输入命令:
#svn checkout svn://10.1.1.1/myrepos myrepos
这样版本库的所有内容都被check出来,存放在当前目录myrepos下。这里相当于使用svn协议,不用搭建http服务器。
如果启动svnserve的时候,-r选项指定的是版本库的目录,譬如/home/myrepos,那么检出版本的时候,执行的命令为:
#svn checkout svn://10.1.1.1/ myrepos
如果启动svnserve是没有指定-r选项,则要输入版本库的绝对路径:
#svn checkout svn://10.1.1.1/home/myrepos myrepos
四、容易出现的问题
在访问svnserve时,遇到了不少的问题,大致总结一下:
1. 这一步最容易避免,一定要记得启动svnserve。
2. 记得要正确的修改配置文件svnserve.conf和passwd。
3. 保证版本库服务器没有配置限制远程访问svnserve的规则。有时在访问svn服务器的时候,会提示服务器积极拒绝链接。简单起见,可以看看iptables -L INPUT和iptables -L OUTPUT有没有限制访问的规则。
4. 要保证输入版本库的URL正确。
5、如何测试linux系统搭建的svn服务器
1,用svnserve这种形式,那么你的url就是 svn://your_host_ip/,不需要加上后面的2,auth语法似乎有点问题,[/xxx]是仓库,你需要写成[/]user=rw@group=rw...这样的形式。试试看另外,提示输入登陆服务器密码,有点怪,怎么会有这一步的?
6、如何在linux服务器上搭建svn
linux下SVN服务器如何搭建和使用?说到SVN服务器,想必大家都知道,可以是在LINUX下如何搭建SVN服务器呢?那么今天给大家分享一下LINUX下搭建SVN服务器的思路!
1,首先安装好LINUX系统,然后YUM安装:
#yum -y install svnversion
2,安全完成之后我们来配置:
创建版本库目录:
#mkdir -p /banbenku/svn/
3,然后启用:
#svnserve -d -r /banbenku/svn
然后查看是否启动了!
ps -ef|grep svn;
[root@207 conf]# lsof -i:3690
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
svnserve 8454 root 3u IPv4 1346200 0t0 TCP *:svn (LISTEN)
4,然后我们来新建版本:
mkdir -p /banbenku/svn/zhoujie/
cd /banbenku/svn/zhoujie/conf
在这里有三个文件:authz passwd svnserve.conf
svnserve.conf是主要配置文件;
vi svnserve.conf
修改如下:
anon-access = read
auth-access = write
password-db = /banbenku/svn/zhoujie/conf/passwd
authz-db = /banbenku/svn/zhoujie/conf/authz
wq!
保存退出:
然后修改passwd:
建立用户名与密码内容如下:
zhoujie = 123456
wq
保有存退出:
然后修改:authz:
内容如下:
[groups]
admin = zhoujie
[zhoujie:/]
@admin =rw
wq
保存退出!
这样我们便配置好了;要使用启生效,重启SVN:
ps -ef|grep svn
kill -9 PID
svnserve -d -r /banbenku/svn
然后再检测:
[root@207 conf]# lsof -i:3690
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
svnserve 8454 root 3u IPv4 1346200 0t0 TCP *:svn (LISTEN)
如果如上所示,那便没有问题了;
7、svn怎么在linux服务器建库
1、安装svn服务
# yuminstall subversion
2、新建一个目录用于存储SVN所有文件
# mkdir /home/svn
3、在上面创建的文件夹中为项目 project_1 创建一个版本仓库
# svnadmin create /home/svn/project_1
执行完这一步,/home/svn中将存在project_1文件夹,这个项目的配置都在 /home/svn/project_1/conf 中
4、为项目配置权限
(1)svnserve.conf 是主配置文件
# vi/home/svn/project_1/conf/svnserve.conf
anon-access=read #匿名可读
auth-access=write #验证用户可读写
password-db=passwd #指向验证用户名密码的数据文件 passwd ,请看下文配置
auth-db=authz #指向验证用户的权限配置文件 authz ,请看下文配置
注意:每一行前方不能有空格,否则会出现 Option expected错误!
(2)passwd用户名密码配置文件
# vi/home/svn/project_1/conf/passwd
[users]
manager1=123456 #每一行都要是“用户名=密码”的格式
manager2=123123
manager3=888888
(3)authz用户权限配置文件
# vi/home/svn/project_1/conf/authz
[groups]
managers=manager1,manager2 #定义群组 managers 包含 manager1 和 manager2 两个用户
[/]
@managers=rw #定义群组 managers 有读写权限
manager3=r #定义 manager3 有读权限
*= #以上没有定义的用户都没有任何权限
8、在linux服务器上搭建svn服务端有什么用
当然可以连接的了。
客户端操作流程一般是:
用户A: checkout (提取) -> add (添加新文件) -> commit (提交)
用户B: SVN log(查看更新) -> update(更新版本)
1,SVN的安装
yun –y install subversion
2,Linux svn的常用命令
()内为命令简写.
checkout (co) 提取
commit (ci) 提交
update (up) 更新
list (ls) 列表
3, checkout (co) 提取 svn服务器上的文件
(user1)操作流程
[root@TEST ~]# svn co svn://192.168.103.26/winne
Authentication realm: My First Repository
Password for 'root':
Authentication realm: My First Repository
Username: user1 /输入用户名
Password for 'user1': /输入密码
A winne/Cosmic Ride - BeFour.lrc
A winne/20070716171657126.pdf
A winne/svnbook.pdf
revision 1. / checkout (co) 提取成功,看到Checked out版本为1
注:可以使用带用户名和密码的访问:
svn co --username user1 --password user1 svn://192.168.103.26/winne
[root@TEST ~]# ll
drwxr-xr-x 3 root root 4096 Sep 23 09:02 winne /winne目录是SVN自动生成的
drwxr-xr-x 2 root root 4096 Jul 30 02:06 tasks
[root@TEST ~]# cd winne
[root@TEST winne]# ll
total 2868
-rw-r--r-- 1 root root 1566968 Sep 23 08:53 20070716171657126.pdf
-rw-r--r-- 1 root root 2397 Sep 23 08:53 Cosmic Ride - BeFour.lrc
-rw-r--r-- 1 root root 1354300 Sep 23 08:53 svnbook.pdf
9、如何实现win7系统下访问linux下的svn服务器?
可以通过TortoiseSVN软件访问。
1,下载TortoiseSVN,百度搜索TortoiseSVN在百度软件中心就可以下载了。版
2,安装TortoiseSVN,双击运权行,按照提示,选择安装目录,直到安装完成。
3,安装完成后,在桌面或者其他目录下右击鼠标即可看到TortoiseSVN的菜单。
4,导出项目,右击空白处,选择TortoiseSVN - checkout
5,按提示输入主机ip及目录,如192.168.1.111/svn/test,输入服务器预设的账户名和密码。
6,检出完成后可以修改文件,进行提交和update操作。
10、如何配置自己的Linux svnserver服务器
一、新建并初始化版本库
1.新建代码仓库
# svnadmin create /home/myrepos
这样,我们就在/home目录下新建了版本库myrepos。
2.初始化代码仓库
#mkdir -p code/{branches,tags,trunk}
按照svn手册上的建议,我们版本库的布局采用branches/tags/trunk这样的三个目录。然后可以将代码直接拷贝的trunk目录,也可以随后采用svn add的方式添加。
#svn import code file: ///home/myrepos
将我们构造好的版本库布局(以及代码,如果已经拷贝到trunk下的话)提交到版本库。由于这里我们是在本地操作,因此可以直接使用file协议方式提交。格式为:file:// + 版本库绝对的路径
OK,到这里我们已经构建了一个本地版本库,可以再本地使用svn ci的方法得到版本库的副本了。如果前面只是提交了版本库布局,而没有提交代码的话,则可以通过如下命令,提交版本代码:
#svn co file: ///home/myrepos/trunk repos
通常只从主线目录trunk下取出源码,放在了新建的repos目录。然后可以将源码拷贝到repos目录。
执行以下两条命令将代码添加的版本库。
#svn add *
#svn ci * -m "Committed codes"
首先需要将拷贝的代码加入到当前的副本中,然后将代码提交到版本库。
二、配置并启动svnserve
1. 配置svnserve
这一步主要完成远程用户访问版本的权限。
在版本库目录下有个conf目录:home/myrepos/conf,该目录包含三个文件:authz,passwd,svnserve.conf。
(1)svnserve.conf
此文件重点的设置内容如下:
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
其中,anon-acces s和auth-access分别代表设置匿名用户和授权用户的访问权限。read代表只读,write代表可读可写,还有一个none,代表禁止访问。如果不想让匿名用户访问的话,可以设置anon-access = none。
password-db为保存版本库的用户名和密码,通常为conf目录下的passwd文件。
authz-db指向的文件,主要用于将用户进行分组,并赋予不同的组不同的权限。譬如有多个目录时,设置某个组的用户只可以访问其中的那些目录。
(2)passwd
如前面介绍,这个文件的主要内容如下
[users]
harry = harrysecret
sally = sallyssecret
以上两行就是可以访问版本库的用户名和密码。格式为:user = passwd。
(3)authz
[groups]
# harry_and_sally = harry,sally
# [/foo/bar]
# harry = rw
# * =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
以上就是authz文件的格式。先给用户分组,然后分别设置每个组的工作目录以及权限等。
本文的讲解并未用到authz的配置。
2. 启动svnserve
#svnserve -d -r /home/
svnserve将以守护进程的方式运行。同时,通过-r选项指定了版本库的目录。这个目录可以是版本库的上级目录(/home),也可以是版本库的目录(/home/myrepos)。具体的区别会在后面讲到。当然,也可以不用-r指定。
三、远程访问svnserve。
假设版本服务器的地址为10.1.1.1,那么用户可以在远程linux端输入命令:
#svn checkout svn://10.1.1.1/myrepos myrepos
这样版本库的所有内容都被check出来,存放在当前目录myrepos下。这里相当于使用svn协议,不用搭建http服务器。
如果启动svnserve的时候,-r选项指定的是版本库的目录,譬如/home/myrepos,那么检出版本的时候,执行的命令为:
#svn checkout svn://10.1.1.1/ myrepos
如果启动svnserve是没有指定-r选项,则要输入版本库的绝对路径:
#svn checkout svn://10.1.1.1/home/myrepos myrepos
四、容易出现的问题
在访问svnserve时,遇到了不少的问题,大致总结一下:
1. 这一步最容易避免,一定要记得启动svnserve。
2. 记得要正确的修改配置文件svnserve.conf和passwd。
3. 保证版本库服务器没有配置限制远程访问svnserve的规则。有时在访问svn服务器的时候,会提示服务器积极拒绝链接。简单起见,可以看看iptables -L INPUT和iptables -L OUTPUT有没有限制访问的规则。
4. 要保证输入版本库的URL正确。
后记:
1. 版本库的初次导入可以采用多种方式:
(1)直接构建好版本库目录,并将源码拷贝的对应的位置,然后svn import即可;
(2)先用svn checkout取出版本,然后构建目录和源码,执行svn add 并且svn commit即可。
2. 导入或者提交文件类型的控制
svn客户端是可以配置忽略哪些些文件,比如说我们不想提交*.o之类的文件。那么可以通过设置svn:ignore或者global-ignore来进行过滤相关的文件。通常默认的情况就会过滤掉*.o, *.so,*.a等被svn认为是中间生成的文件。我本人使用的客服端不管是WIN的还是Linux的都是这种默认情况。
但是,如果有时基于某种需要,或者是导入一个别人之前维护的工程,里面有些*.so,*.a文件必须保留,那么如果在第一次import的时候全部导入呢?曾经问过有些朋友说,svn add或者svn import是可以直接把这种文件导入到版本库的。但是我个人进行测试的时候,确实导入不进去,除非你直接svn add这个文件,然后提交应该就可以了。
如果这样的文件比较多,而且比较分散,那么如何解决呢?看一下svn import和svn add这两个命令的帮助,都有--no-ignore选项。这个选项的功能就是执行相应动作的时候,不忽略任何文件。那么执行以下两条命令:
svn import [source] [repository] --no-ignore
或
svn add [source] --no-ignore
会自动将source目录下所有的内容全部import或者add。
因此,通过--no-ignore选项,可以满足提交一些特殊文件的需求。
3. 用一个旧版本的svnadmin创建的版本库,直接拷贝到另外一台svn版本比较高的PC上使用时,发现提示数据库版本不匹配。解决的方法:
(1)导出旧的版本库内容,包含版本信息
具体使用的命令为svnadmin mp, 详细使用方法参考手册。该命令的格式为:
svnadmin mp REPOS_PATH [-r LOWER[:UPPER]] [--incremental]
如果我将版本库完整的信息都倒出来的话,执行如下命令:
# svnadmin mp old_repos > repos.mp
默认版本库mp的时候是输出在终端的,通过重定下输出到repos.mp文件里面。该文件实际是文本文件。
(2)导入旧版本库的内容
在需要导入的位置,新建一个版本库
# svnadmin create new_repos
然后将repos.mp文件导入到新的版本库:
# svnadmin load new_repos < repos.mp