当前位置:首页 » 操作系统 » linux下svn的安装

linux下svn的安装

发布时间: 2024-07-19 19:04:10

A. 如何在linux上安装svn服务器

你好,centos下安装 svn 1.9.5 按照步骤一步一步装就OK 。以下是我的步骤。分享给你
安装1.9
准备工作:
1、安装编译工具包
yum install apr* autoconf automake bison bzip2 cloog-ppl compat* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gtk+-devel gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng* libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool libtool* libgomp libxml2 libxml2-devel libXpm* libtiff libtiff* libX* make mpfr ncurses* ntp openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils ppl telnet t1lib t1lib* nasm nasm* wget zlib-devel zlib unzip perl-ExtUtils-Embed
2、yum remove apr apr-util subversion subversion-libs #删除系统中原有的svn及依赖包
3、下载软件包
https://dist.apache.org/repos/dist/release/apr/apr-1.5.2.tar.gz
https://dist.apache.org/repos/dist/release/apr/apr-util-1.5.4.tar.gz
http://prdownloads.sourceforge.net/scons/scons-2.3.5.tar.gz
http://www.openssl.org/source/openssl-1.0.1o.tar.gz
https://www.apache.org/dist/serf/serf-1.3.9.tar.bz2
http://www.apache.org/dist/subversion/subversion-1.8.13.tar.gz
http://www.sqlite.org/2017/sqlite-amalgamation-3160200.zip

1、安装apr
cd /usr/local/src #进入软件包存放目录
tar zxvf apr-1.5.2.tar.gz #解压
cd apr-1.5.2 #进入安装目录
./configure --prefix=/usr/local/apr #配置
make #编译
make install #安装

2、安装apr-util
cd /usr/local/src
tar zxvf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --with-apr=/usr/local/apr/bin/apr-1-config
make && make install

3、安装scons
cd /usr/local/src
tar zxvf scons-2.3.5.tar.gz
cd scons-2.3.5
python setup.py install #配置安装

4、安装openssl
cd /usr/local/src
tar zxvf openssl-1.0.1o.tar.gz
cd openssl-1.0.1o
CFLAGS=-fPIC ./config --prefix=/usr/local/openssl enable-shared
make && make install
vi /etc/profile #添加系统环境变量
export PATH=$PATH:/usr/local/openssl/bin >> /etc/profile
#export PATH=$PATH:/usr/local/openssl/bin >> /etc/profile
:wq! #保存退出
source /etc/profile #使配置生效
ln -s /usr/local/openssl/include/openssl /usr/include/openssl #添加系统软连接
5、安装serf
cd /usr/local/src
tar -xf serf-1.3.9.tar.bz2
cd serf-1.3.9
scons PREFIX=/usr/local/serf APR=/usr/local/apr/bin/apr-1-config APU=/usr/local/apr/bin/apu-1-config OPENSSL=/usr/local/openssl
scons install
cd /usr/local/serf/lib
cp libserf-1.so* /usr/local/lib/ #拷贝文件到系统目录

6、安装svn
cd /usr/local/src
tar zxvf subversion-1.9.5.tar.gz
cd subversion-1.9.5
mkdir /usr/local/src/subversion-1.9.5/sqlite-amalgamation #创建sqlite-amalgamation目录
cd /usr/local/src
unzip sqlite-amalgamation-3160200.zip -d /usr/local/src/subversion-1.9.5/sqlite-amalgamation
mv /usr/local/src/subversion-1.9.5/sqlite-amalgamation/sqlite-amalgamation-3160200/* /usr/local/src/subversion-1.9.5/sqlite-amalgamation
#解压sqlite-amalgamation软件包到sqlite-amalgamation目录
cd /usr/local/src/subversion-1.9.5
./configure --prefix=/usr/local/svn --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-serf=/usr/local/serf --with-openssl=/usr/local/openssl --enable-mod-activation #配置
make #编译
make install #安装
vi /etc/profile #添加系统环境变量,添加到最后一行
export PATH=$PATH:/usr/local/svn/bin
:wq! #保存退出
source /etc/profile #使配置立刻生效
whereis libexpat.so.1 #查找文件安装目录,如下:
libexpat.so: /lib/libexpat.so.0 /usr/local/lib/libexpat.so /usr/local/lib/libexpat.so.1
vi /etc/ld.so.conf #编辑加入libexpat.so.1的目录
/usr/local/lib/
:wq! #保存退出
ldconfig #使配置生效

B. Linux centos下安装svn服务器就这么难么

Centos下安装SVN服务器详细步骤

在保证联网的条件下,执行以下一、二操作,否则请先下载apache、svn的安装包并解压缩

1.安装apache

yum install httpd

2.安装svn

yum install subversion

yum install mod_dav_svn

3.创建SVN仓库

mkdir /home/svn

4.在SVN仓库目录下创建你要的版本库

svnadmin create /home/svn/xyz (版本库名:xyz)

5.创建用户及密码

在/home/svn/xyz/conf目录下,输入:htpasswd -c passwd xiao

第一次在创建用户密码,需加上“- c”参数

6.设置权限

编辑authz文件,设置组别人员读写权限

9.防火墙打开3690端口

进入/etc/sysconfig,修改iptables文件

加入如下:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT

10.修改apache,目的是保证http能够访问

修改/etc/httpd/conf.d/subversion.conf文件

加入如下:

LoadMole dav_svn_mole moles/mod_dav_svn.so

LoadMole authz_svn_molemoles/mod_authz_svn.so

<Location />

DAV svn

SVNParentPath /home/svn/xyz

AuthType Basic

AuthName "Authorization Realm"

AuthUserFile /home/svn/xyz/conf/passwd

AuthzSVNAccessFile /home/svn/xyz/conf/authz

Require valid-user

</Location>

11.配置SVN下目录被apache拥有

chown–R apache:apache/home/svn/xyz

12.设置apache开机启动

chkconfig httpd on

13.设置svn开机启动

(1)编写/usr/local/customshell/svn.sh,内容为svnserve –d --listen-port 3690 –r / home/svn/xyz

(2). vim /etc/rc.d/rc.local增加一句:/usr/local/customshell/svn.sh

C. Windows与Linux下SVN怎样使用

Windows与Linux下SVN怎样使用?

本文分2个部分(包括Windows与Linux操作系统平台),第1部分:怎样安装 第2部分:怎样使用
-----------------------------------------第1部分:怎样安装-----------------------------------------
怎样安装分2种情况,第1种:在公司上班 第2种:在宿舍电脑
--------------------第1种:在公司上班--------------------
说明:通常SVN服务器是安装在windows上的,安装好后,客户端2种平台都能使用
Windows平台下
服务端与客户端:
通常这种情况,你想安装,公司都不会让你安装,一般是由公司内网管专业人士统一安装好,并给你分配好账户与密码,以及每个SVN下使用权限,所以这种情况你可以不用去管怎样安装了,只管怎样使用即可
linux平台下
服务端:即windows上的服务端
客户端:如果你在本机安装的Linux虚拟机,通常是自己安装的,不是公司网管安装的,安装办法如下:
1步即能安装:在linux下输入命令 sudo apt-get install subversion
即SVN,安装后同windows上SVN一样,只不过这里是输入命令而已
--------------------第2种:在宿舍电脑--------------------
Windows与Linux平台下
说实在的,宿舍就1台电脑.本来电脑就垃圾.而且还开着虚拟机,在开2个VS2010,就已经卡的要死.在来个SVN,估计会慢如蜗牛,其实大部分程序员也是只有一台电脑,安装SVN真的没必要.除非有多台电脑.SVN本质是为方便团队开发
-----------------------------------------第2部分:怎样使用-----------------------------------------
怎样使用要分2种情况,第1种:是Windows平台 第2种:是Linux平台
--------------------第1种:是Windows平台--------------------
1.更新
右键->SVN更新
2.提交(也可说成是上传)
第1步:进入要提交的SVN文件目录里面,导入文件
第2步:导入后,返回上一层目录,即返回到要提交的SVN文件目录,右键点击此SVN目录,弹出,提交,进入
第3步:进入提交对话框后,会显示2个编辑框,上面的编辑框是确认要提交的内容,下面的编辑框是你刚导入的文件内容,
你现在若是想提交刚才导入的内容,就把下面编辑框的内容用鼠标拖动到上面的编辑框,并按确定
若不想提交刚才导入的内容,直接按取消退出即可
3.导出
即怎样去掉SVN的专用标志,有的是对勾,有的是?号等等?
方法 1:在文件属性--->选择显示所有文件,这时文件里会出现1个.svn的文件目录,把它删掉即可.(文件目录多时,不推荐)
方法 2:在SVN右键--->导出,这时导出的文件不会带SVN标志了
4.删除
在SVN右键中,删除之后.要返回上一层目录,点提交.
删除信息在变更列表,要拖动到信息栏下,然后点确定
5.保存认证
每当电脑密码更改时,SVN以前保存的密码也会要更新,此时会弹出一个认证框,重新输入账号与新密码,在保存认证处打勾即可
--------------------第2种:是Linux平台--------------------
1.更新
命令:svn update
2.提交(也可说成是上传)
第1步:进入要提交的SVN文件目录里面,
第2步:添加要提交的目录用svn add *----------->注:(*代表添加文件、目录或符号链)
第3步:提交
(1)提交全部
svn ci -m"*"----------->m表示写注释,*代表注释内容
注:在LINUX上同一目录存在其它文件,svn ci提交时,只会提交SVN服务器已有的文件.如果想让同一目录下的其它文件也提交到SVN服务器,可以先通过svn add先添加此文件或文件夹
(2)提交单个
svn ci -m"add select_area packet" Gateway_Handler.cpp
后面一个加上要提交的文件(记的把后缀名写上去).
提交成功后会提示
Sending Gateway_Handler.cpp
Transmitting file data .
Committed revision 242.
3.保存认证
每当电脑密码更改时,SVN以前保存的密码也会要更新,此时会显示要输入密码,重新输入账号与新密码,最后会提示是否要保存密码(yes/no),选yes即可
4.下载
命令 svn co * (*代表下载地址,例如http://192.168.1.101/project/servers/command)
之后会在当前目录下,导出一个command文件夹,里面是SVN服务器上的文件
5.删除
svn del *(*为文件名,或文件)
6.查看修改后的操作是哪些
svn diff

---------------------------------------------------以下是摘抄的---------------------------------------------------
1、将文件checkout到本地目录
svn checkout path(path是服务器上的目录)
例如:svn checkout svn://192.168.1.1/pro/domain
简写:svn co

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 是上一版本,也可以写具体版本号,这样输出结果是可以提交的)
19、查找工作拷贝中的所有遗留的日志文件,删除进程中的锁。
当Subversion改变你的工作拷贝(或是.svn中的任何信息),它会尽可能的小心,在修改任何事情之前,它把意图写到日志文件中去,然后执行log文件中的命令,然后删掉日志文件,这与分类帐的文件系统架构类似。如果Subversion的操作中断了(举个例子:进程被杀死了,机器死掉了),日志文件会保存在硬盘上,通过重新执行日志文件,Subversion可以完成上一次开始的操作,你的工作拷贝可以回到一致的状态。
这就是svn cleanup所作的:它查找工作拷贝中的所有遗留的日志文件,删除进程中的锁。如果Subversion告诉你工作拷贝中的一部分已经“锁定”了,你就需要运行这个命令了。同样,svn status将会使用L 显示锁定的项目:
$ svn status L somedirM somedir/foo.c $ svn cleanup$ svn statusM somedir/foo.c20、拷贝用户的一个未被版本化的目录树到版本库。svn import命令是拷贝用户的一个未被版本化的目录树到版本库最快的方法,如果需要,它也要建立一些中介文件。
$ svnadmin create /usr/local/svn/newrepos $ svn import mytree file:///usr/local/svn/newrepos/some/project Adding mytree/foo.c Adding mytree/bar.c Adding mytree/subdir Adding mytree/subdir/quux.h Committed revision 1.
在上一个例子里,将会拷贝目录mytree到版本库的some/project下:
$ svn list file:///usr/local/svn/newrepos/some/project bar.c foo.c subdir/
注意,在导入之后,原来的目录树并没有转化成工作拷贝,为了开始工作,你还是需要运行svn checkout导出一个工作拷贝。
另附:为SVN加入Email通知
可以通过Subversion的Hook脚本的方式为SVN加入邮件列表功能
编译安装了Subversion后 在源码的tools 下有一个comm-email.pl的Perl脚本,在你的档案目录下有一个hooks目录,进入到hooks目录把post-commit.tmpl 改名为post-commit并给它可执行的权限。
更改post-commit脚本 把comm-email.pl脚本的决对路径加上,否则 SVN找不到comm-email.pl
REPOS="$1"
REV="$2"
/usr/local/svn/resp/commit-email.pl "$REPOS" "$REV" [email protected] [email protected]
#log-commit.py --repository "$REPOS" --revision "$REV"
最后一行是用来记日志的 我不用这个功能 所以注释掉了.

-------------------------------------------------------------------------------------------------------
注意:为保证代码安全.最好要备份.每个操作都要谨慎

D. 如何配置自己的Linux svnserver服务器

通常,很多Linux发行版已经自带了svn软件,安装系统时候选择即可。因此,本文并不讲解如何安装svn相关软件,而是重点总结一下如果使用svnserve服务器来构建自己的代码仓库,并且允许别人远程访问。本文的整个内容参考了svn手册。

一、新建并初始化版本库
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
该命令成功执行完毕之后,新的版本库中已经包含了old_repos版本库中的所有版本内容。
svnadmin mp和svnadmin load命令都支持导入/导出某个指定revsion或者某个指定范围的所有revision。该部分后记参考了如下连接,在此表示感谢:
http://hi..com/primechen/blog/item/71a7a1dc2b981fe877c63841.html

E. 濡备綍鍦ㄦ湇锷″櫒liunx涓婃惌寤簊vn链嶅姟鍣

body{ line-height:200%; } linux涓媠vn链嶅姟鍣ㄦ惌寤鸿嗛戞暀绋 鑳屾櫙锛氶殢镌杞浠跺伐绋嫔寲镄勪笉鏂娣卞叆锛岄”鐩鐗堟湰绠$悊鏄姣忎釜杞浠跺紑鍙戝洟阒熼兘蹇呴’闱㈠圭殑闂棰樸傚傛灉娌℃湁濂界殑鐗堟湰鎺у埗鐗堟湰绠$悊锛屽ぇ椤圭洰鍙鑳芥棤娉曢‘鍒╄繘琛屻傚逛簬闇瑕佽稿氱粰浜堜簰镵旂绣镄勫紑婧愰”鐩锛岀増链鎺у埗鍜岀増链绠$悊鍒欐洿涓洪吨瑕併傚嵆浣挎槸瀵逛簬涓涓浜哄紑鍙戯纴鐗堟湰绠$悊宸ヤ綔涔熷緢链夌泭澶勶纴瀹冭兘璁╀綘镄勫伐浣沧浔鐞嗘竻鏅帮纴阆垮厤璁稿氶吨澶嶅伐浣溿 浠婂ぉ灏忕紪涓哄ぇ瀹朵粙缁岘vn链嶅姟鍣ㄦ惌寤鸿嗛戞暀绋嬨 1,棣栧厛瀹夎呭ソLINUX绯荤粺锛岀劧钖嶻UM瀹夎: #yum -y install svnversion 2,瀹夊叏瀹屾垚涔嫔悗鎴戜滑𨱒ラ厤缃锛 鍒涘缓鐗堟湰搴撶洰褰曪细 #mkdir -p /banbenku/svn/ 3,铹跺悗钖鐢: #svnserve -d -r /banbenku/svn 铹跺悗镆ョ湅鏄钖﹀惎锷ㄤ简! ps -efgrep 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 鍦ㄨ繖閲屾湁涓変釜鏂囦欢锛歛uthz 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/authzwq! 淇濆瓨阃鍑猴细 铹跺悗淇鏀筽asswd: 寤虹珛鐢ㄦ埛钖崭笌瀵嗙爜鍐呭瑰备笅锛 zhoujie = 123456 wq 淇濇湁瀛橀鍑猴细 铹跺悗淇鏀:authz: 鍐呭瑰备笅锛 [groups] admin = zhoujie [zhoujie:/] @admin =rw wq 淇濆瓨阃鍑! 杩欐牱鎴戜滑渚块厤缃濂戒简锛涜佷娇鐢ㄥ惎鐢熸晥锛岄吨钖疭VN锛 ps -efgrep 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) 濡傛灉濡备笂镓绀猴纴闾d究娌℃湁闂棰树简锛 linux涓媠vn链嶅姟鍣ㄦ惌寤鸿嗛戞暀绋

F. Linux里面怎么搭建SVN

SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的.

Linux上部署4个项目的svn操作步骤:搭建SVN

[root@localhost ~]# yum -y install subversion

[root@localhost ~]# svnserve --version

svnserve, version 1.6.11 (r934486)

......
[root@localhost ~]# mkdir -p /a/svn/

[root@localhost ~]# mkdir /a/passwd

[root@localhost ~]# svnserve -d -r /a/svn

[root@localhost ~]# svnadmin create /a/svn/repo1

[root@localhost ~]# svnadmin create /a/svn/repo2

[root@localhost ~]# cp /a/svn/repo1/conf/passwd /a/passwd/

[root@localhost ~]# cp /a/svn/repo1/conf/authz /a/passwd/

[root@localhost ~]# vim /a/svn/repo1/conf/svnserve.conf

[general]

anon-access=none

auth-access=write

password-db = /a/passwd/passwd

authz-db = /a/passwd/authz

realm=1111111111111111

[root@localhost ~]# mv /a/svn/repo2/conf/svnserve.conf

/a/svn/repo2/conf/svnserve.conf.bak

[root@localhost ~]# mv /a/svn/repo3/conf/svnserve.conf

/a/svn/repo3/conf/svnserve.conf.bak

[root@localhost ~]# mv /a/svn/repo4/conf/svnserve.conf

/a/svn/repo4/conf/svnserve.conf.bak

[root@localhost ~]# cp /a/svn/repo1/conf/svnserve.conf

/a/svn/repo2/conf/svnserve.conf

[root@localhost ~]# cp /a/svn/repo1/conf/svnserve.conf

/a/svn/repo3/conf/svnserve.conf

[root@localhost ~]# cp /a/svn/repo1/conf/svnserve.conf

/a/svn/repo4/conf/svnserve.conf

[root@localhost ~]# vim /a/passwd/passwd

[users]

chen=chen123

lu=lu123

zhang=zhang123

wang=wang123

hua=hua123

dong=dong123

[root@localhost ~]# vim /a/passwd/authz

[groups]

java=chen,lu,zhang

ios=wang

web=hua

jishu=dong

[repo1:/]

@java=rw

[repo2:/]

@ios=rw

[repo3:/]

@web=rw

[repo4:/]

@jishu=rw

[root@localhost conf]# chmod 700 /a/passwd/*

[root@localhost ~]# pkill svnserve

[root@localhost ~]# ps -ef |grep svn

root 2405 2106 0 18:59 pts/1 00:00:00 grep svn

[root@localhost ~]# svnserve -d -r /a/svn/

[root@localhost ~]# ps -ef |grep svn

root 2411 1 0 19:00 ? 00:00:00 svnserve -d -r /a/svn/

root 2413 2106 0 19:00 pts/1 00:00:00 grep svn

G. linux瀹夎却vnlinux瀹夎却vn

linux閰岖疆宸叉湁镄勬枃浠跺す涓簊vn镄勬寚瀹氱洰褰曪纻

瑕佸疄鐜拌繖涓𨱍虫硶锛屽叧阌铡熺悊灏辨槸鎶奷efault杩欎釜鏂囦欢澶瑰彉鎴愬湪svn鎺у埗涔嬩笅镄勪竴涓宸ヤ綔鍓链锛岀劧钖庨氲繃post-commit阍╁瓙铡昏嚜锷ㄦ洿鏂拌繖涓宸ヤ綔鍓链銆傚嚑涓鍏抽敭镎崭綔锛

1銆侀渶瑕佸湪链嶅姟鍣ㄤ笂瀹夎却vn链嶅姟鍣ㄧ锛屽惎锷╯vn链嶅姟锛屽苟鍒涘缓涓涓狲vn搴掳绂

2銆佸皢褰揿墠镄刣efault鏂囦欢澶瑰彉鎴愭柊寤虹殑svn搴撶殑宸ヤ綔鍓链锛埚㈡埛绔瀛樻斁鏁版嵁镄勬枃浠跺す锛夛纴鍏蜂綋镎崭綔锛氩皢褰揿墠default鏂囦欢澶逛笅镄勫唴瀹筰mport鍒版柊寤虹殑svn搴扑腑锛岀劧钖庡啀娓呯┖default锛岀劧钖庡啀灏唖vn搴扑腑镄勫唴瀹筩heckout鍒癫efault锛

3銆佷娇鐢╯vn镄刾ost-commit阍╁瓙锛堣繖涓阍╁瓙鏄鍦ㄦ疮娆℃垚锷焎ommit钖庤玈VN链嶅姟鍣ㄨ嚜锷ㄨ皟鐢ㄧ殑锛夛纴缂栬緫杩欎釜阍╁瓙锛屽唴瀹瑰氨鏄痵vnupdate鏂囦欢澶筪efault锛岃繖镙锋疮娆commit鎴愬姛钖庡氨浼氲嚜锷ㄦ洿鏂癫efault鏂囦欢澶癸绂

4銆佸湪浣犺嚜宸辩殑鐢佃剳涓奵heckout闾d釜svn搴掳纴铹跺悗浣犲氨鍙浠ヤ粠链鍦瘫ommit锛岀劧钖庢湇锷″櫒绔灏辫嚜锷ㄦ洿鏂癫efault鏂囦欢澶逛简銆

镐庢牱鍦╲isiostudio涓瀹夎却vn鎻掍欢锛

鍏堟妸visualsutdio寮宸ュ叿鍏ㄩ儴鍏抽棴锛岀劧钖庡湪瀹夎匰VN鍖咃纴铹跺悗鍦ㄦ墦寮visualstudio阃夋嫨宸ュ叿->阃夐”->婧愪唬镰佺$悊->鎻掍欢绠$悊浼氩氩嚭涓涓猄VN镄勯夐”阃夋嫨灏辫屼简

H. 请教,arm linux下能安装svn服务端吗

安装svn版本为1.6.1

一。下载svn
选择subversion-1.6.1.tar.gz 和 subversion-deps-1.6.1.tar.gz
将该下载包拷贝到/usr/local/下(随意了,找个地方就好)
二。安装
cd /usr/local/
tar zxvf subversion-1.6.1.tar.gz
tar zxvf subversion-deps-1.6.1.tar.gz #会自动解压到subversion-1.6.1下
cd subversion-1.6.1
按照一些网络资料的介绍,执行如下命令即可完成安装
./configure
make
make install

三。验证
svn --version
有可能会出现如下提示:
svn: error while loading shared libraries: /usr/local/serf/lib/libserf-0.so.0: cannot restore segment prot after reloc: Permission denied
此时执行如下命令即可解决问题:
setenforce permissive

热点内容
php图片缓存 发布:2024-11-25 23:41:36 浏览:953
android获取sd卡文件 发布:2024-11-25 23:39:34 浏览:151
银线存储 发布:2024-11-25 23:37:44 浏览:624
教孩子学编程python 发布:2024-11-25 23:31:05 浏览:912
如何开启服务器端口8008 发布:2024-11-25 23:30:27 浏览:806
python字典中文key 发布:2024-11-25 23:30:11 浏览:997
nosql数据库与关系型数据库 发布:2024-11-25 23:19:43 浏览:676
刀具数据库 发布:2024-11-25 23:06:04 浏览:534
androidchrome浏览器 发布:2024-11-25 23:02:07 浏览:572
python提示符 发布:2024-11-25 22:53:28 浏览:495