svn 服务器 ubuntu 搭建svn服务器详细教程

各位老铁们,大家好,今天由我来为大家分享svn 服务器 ubuntu,以及搭建svn服务器详细教程的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

怎么用ubuntu中的命令读取svn中的文件

1、将文件checkout到本地目录

svn checkout path(path是服务器上的目录)

例如:svn checkout svn://192.168.1.1/pro/domain

简写:svn co

2、往版本库中添加新的文件

svn addfile

例如: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是上一版本,也可以写具体版本号,这样输出结果是可以提交的)

Ubuntu 搭建SVN服务器(SVN Server)

Ubuntu搭建SVN服务器(SVN Server)

在服务器端,确保系统为阿里云提供的Ubuntu 14.04 64位。

首先,检查是否已安装SVN服务器,运行命令svn查看。

若未安装,执行更新操作apt-get update后,安装SVN服务器使用命令apt-get install subversion。安装后,使用svnserve--version验证安装情况。

创建SVN版本库,新建目录/usr/svn/repository,并赋予所有权限使用chmod-R 777/repository。通过svnadmin create/usr/svn/repository创建仓库。

对仓库的数据库目录db设置权限,使用命令chmod-R 777 db。

配置访问权限,编辑conf/svnserve.conf文件并添加访问用户,通过命令vi passwd设置用户名“wang”密码“123456”。在authz文件中,设置用户权限,例如,admin= wang赋予“wang”用户管理员权限,@admin= rw表示管理员权限组具有读写权限,*= r所有组拥有读权限。

启动SVN服务器使用命令svnserve-d-r/usr/svn/,其中-d表示后台运行,-r指定服务器根目录。通过ps aux| grep svnserve检查服务器是否成功启动。

关闭服务器使用命令killall svnserve,确保其状态为已关闭。

访问服务器时,使用格式“svn://服务器ip/repository”。

对于Windows 10系统的远程连接,首先确保安装了SVN客户端,然后通过服务器IP地址连接。上传文件至SVN服务器完成安装和远程连接。

Ubuntu 20.04 SVN报错

Ubuntu20.04在访问SVN服务器时,遇到了SSL通信错误“An error occurred during SSL communication”。经过分析,发现SVN版本与服务器不匹配,或协议兼容性有问题。尝试降级SVN版本后问题依旧。搜索后得知,Ubuntu20.04默认不再支持TLS V1.0和V1.1,这可能是问题的根源。SVN服务器使用的TLS版本为V1.1,导致通信失败。

解决方法是修改Ubuntu20.04的TLS配置,启用TLS V1.0。完成修改后,Ubuntu20.04能正常访问SVN服务器。TLS 1.0/1.1版本存在已知安全漏洞,操作系统和浏览器已默认禁用。基于安全性考虑,应避免使用这些版本。

关于SSL和TLS协议的安全性,存在多种已知漏洞和攻击方式。建议在无特殊需求的情况下,避免使用TLS 1.0/1.1版本,转而使用更安全的TLS 1.2及以上版本。

在解决Ubuntu20.04访问SVN服务器问题的过程中,涉及到SSL通信错误、TLS协议版本支持问题、安全漏洞以及TLS配置调整等内容。通过修改TLS配置启用TLS V1.0,最终解决了访问问题。

阅读剩余
THE END