linux离线安装svn客户端和通过命令行使用svn

3 篇文章 0 订阅
3 篇文章 0 订阅

目录

参考文献

安装svn客户端

下载

安装

安装apr

安装expat

安装apr-util

安装zlib

复制或移动文件夹sqlite-autoconf

 安装subversion

命令行使用SVN


参考文献

svn服务器linux离线安装_somdip的博客-CSDN博客

https://www.csdn.net/tags/Mtjakg5sMTU1MTItYmxvZwO0O0OO0O0O.html

安装svn客户端

其实svn安装包既是客户端,又是服务端

如果有可视化界面,可以安装rabbitVCS。(适合自己的电脑和服务器)

如果有网络,且有root权限,可以按下面这样安装。(适合自己的电脑和服务器)

sudo apt-get install subversion

如果是公司的服务器,极有可能是没有网络,没有可视化/图形界面,甚至没有root权限,访问不了/usr/local。

如果你是这种情况,恭喜你,来错了

重要事情说三遍

我以为可以把安装路径全都改成自定义的路径,但最后一步那边出现问题,不会解决了。下面操作仅作为参考,如果有谁知道后续如何修改,欢迎评论留言。

我以为可以把安装路径全都改成自定义的路径,但最后一步那边出现问题,不会解决了。下面操作仅作为参考,如果有谁知道后续如何修改,欢迎评论留言。

我以为可以把安装路径全都改成自定义的路径,但最后一步那边出现问题,不会解决了。下面操作仅作为参考,如果有谁知道后续如何修改,欢迎评论留言。

下面正式开始下载和安装

下载

百度网盘:

链接: https://pan.baidu.com/s/1z9nzYz8hlFJ0fVZAynuZuA?pwd=1g8y 提取码: 1g8y 复制这段内容后打开百度网盘手机App,操作更方便哦

安装

将下载的文件解压后得到一堆tar文件,将这些tar文件解压后,放到某个目录下,假设为myPath。

解压命令可参考下面

tar -xzvf apr-1.6.5.tar.gz
tar -xzvf expat_2.0.1.orig.tar.gz
tar -xzvf apr-util-1.6.1.tar.gz
tar -xf zlib-1.2.11.tar.xz
tar -xzvf sqlite-autoconf-3260000.tar.gz
tar -xzvf subversion-1.11.0.tar.gz

安装apr

在myPath目录下

1)进入apr安装包目录

cd apr-1.6.5

2)修改文件configure中大概在30392行处的RM='$RM'为RM='$RM -f',否则后续执行./configure时会报cannot remove 'libtoolT':No such file or directory的错。

3) 执行下面命令(安装路径的父目录假设为myPath2)

PS:第一个命令是通过Makefile.in和configure文件生成Makefile文件。第二个命令是进行编译和安装。

./configure --prefix=<myPath2>/apr
make && make install

安装expat

在myPath目录下

1)进入expat安装包目录

cd expat-2.0.1

2) 执行下面命令(安装路径的父目录假设为myPath2)

./configure --prefix=<myPath2>/expat 
make && make install

安装apr-util

在myPath目录下

1)进入apr-util安装包目录

cd apr-util-1.6.1

2) 执行下面命令(安装路径的父目录假设为myPath2)

./configure --prefix=<myPath2>/apr-util --with-apr=<myPath2>/apr --with-expat=<myPath2>/expat
make && make install

安装zlib

在myPath目录下

1)进入zlib安装包目录

cd zlib-1.2.11

2) 执行下面命令(安装路径的父目录假设为myPath2)

./configure --prefix=<myPath2>/zlib
make && make install

复制或移动文件夹sqlite-autoconf

在myPath目录下

#可以复制
mkdir -p  ./subversion-1.11.0/sqlite-amalgamation
cp -r sqlite-autoconf-3260000/*  ./subversion-1.11.0/sqlite-amalgamation

#也可以直接移动
mv sqlite-autoconf-3260000 ./subversion-1.11.0/sqlite-amalgamation

安装subversion

在myPath目录下

1)进入subversion安装包目录

cd subversion-1.11.0

2) 执行下面命令(安装路径的父目录假设为myPath2)

./configure --prefix=<myPath2>/subversion --with-apr=<myPath2>/apr --with-apr-util=<myPath2>/apr-util --with-zlib=<myPath2>/zlib --with-lz4=internal --with-utf8proc=internal
make && make install

TODO:

好了,这里出了些问题。

首先是找不到<myPath2>/expat-2.0.1/lib/libexpat.la,那我就一开始生成的时候路径就带上版本号或者把路径下expat文件夹改成expat-2.0.1呗。

然后是找不到/usr/local/apr/lib/libapr-1.la,不知道怎么改了,前面肯定有哪里路径里还有没有把默认的/usr/local改成<myPath2>的情况。

对于有root权限的人来说倒是不影响,直接各个路径都默认就行。

命令行使用SVN

出了问题没关系,我后来又拿到root权限了,那就不用改路径了。而且我通过yum直接从公司内网下载安装了subversion。

如果你想搭svn服务器,网上教程很多,我这边不讲,我也不会。这边主要讲如何通过命令行连接svn服务器和使用svn。

对svn客户端的使用见我下面这篇文章中svn命令部分

各种平台常用命令和快捷键_莫能长老的博客-CSDN博客

这里放一些有极大需求,但十分难用的命令

添加到changelist并且提交某个changelist

// 将a.txt和b.txt加入到名为needtocommit的changelist下
$ svn cl needtocommit a.txt b.txt
// 提交needtocommit中的文件
$ svn ci --cl needtocommit -m "any message"

这里你可以设置一个changelist叫ignore-oncommit,把不需要提交的文件放到这里,但是好像不能在提交的时候排除该changelist的内容。在win中tortoiseSVN倒是有实现这个功能,不知道它怎么实现的。

提交错误的代码后,希望将服务器版本回滚到之前的状态,但是自己本地不回滚(因为要修改后继续提交)

 很难用命令行直接做到,直接revert或者merge会把本地代码覆盖掉。也许可以用暂存代码的方式保存本地修改。

暂时的方法只能是,在其他svn客户端下连接我们的svn服务器,然后用下面方法回滚服务器代码

$ svn merge -r <当前版本号>:<要回滚的版本号> .
$ svn commit -m "回滚到版本xxxx"

然后在我们要提交代码的svn客户端下,进行新的提交。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值