ubuntu上安装调试SVN服务

news/2025/4/21 10:05:14/

        刚成立团队需要临时搭建一台SVN服务器,所以对照网上的一些提示做了下,操作起来不复杂,还是踩了不少坑,顺便原理性了解了下。

        主要操作步骤如下:

1:安装svn

sudo apt-get install subversion

2: 创建svn版本库

先建目录,之后目录中创建respository

sudo mkdir /home/szbullsoft/svnsudo mkdir /home/szbullsoft/svn/repository

3:修改权限

sudo chmod -R 777 /home/szbullsoft/svn/repository

4:创建版本库

sudo svnadmin create /home/szbullsoft/svn/repository

执行完成后,在/home/ szbullsoft/svn/repository 这个目录下,有如下文件:

Conf  db  format hooks locks 

5:给db权限

sudo chmod –R 777 /home/szbullsoft/svn/repository/db

6: 配置conf

cd /home/szbullsoft/svn/repository/conf#配置svnserve.confsudo vim svnserve.conf

修改前:

修改后:

说明:(去掉前面的#,并且顶格)
anon-access = none 匿名用户不可读
auth-access = write 权限用户可写

password-db = passwd 密码文件为passwd
authz-db = authz
权限文件为authz

7:修改passwd文件,添加用户

Sudo vim passwd#格式:名字 = 密码[users]Kongchengbo = kongcb123gaohui = gaoh123

8: 修改权限文件authz

sudo vim authz# 文件修改如下
[groups][/]Kongchengbo=rwGaohui=r

9:启动服务

svnserve -d -r /home/szbullsoft/svn/repository

注意这个目录要保持一致哦,之前参照其他人的博客,配置为:

svnserve -d -r /home/szbullsoft/svn --listen-port 81

之后使用客户端访问的时候,一直提示:

或者中文提示:由于目标计算机积极拒绝,无法连接

找了好多人的说法,都是防火墙,网络代理之类的问题,都不能解决,最后发现就是此处配置svnserve的目录是svnserve -d -r /home/szbullsoft/svn,该目录下并没有这些文件:Conf  db  format hooks locks,登录无法执行,都不会提示要输入用户名和密码的!!

10:修改svnserve

修改后,需要重启下svnserve,方式就是先查找id,之后kill,之后再配置:

svnserve -d -r /home/szbullsoft/svn/repository

配置完成后,就可以访问了,单客户端访问也分为两种,http和svn,一般单主机就是svn了,apache会用http,我在工作站电脑上安装的,所以就是svn,如果用http也会失败,提示信息类似9.

此时使用SVN再checkout就会提示要输入用户名和密码了!

11:文件和目录的增加删除操作

登录上,checkout提示没有文件夹

目录不对,改为svn://10.24.32.7/Doc也是一样的。

那我直接根目录下提交一个文件test.txt试试,是可以提交的,别的地方也能checkout出来。

那这个test.txt文件保存在哪里呢,到服务器/home/szbullsoft 目录下,find ./ -name “test.txt”

查找不到文件,那文件在哪里?

文心一言:当你向SVN仓库添加一个文件(比如 test.txt),这个文件的实际内容以及版本历史会被存储在 db 目录下。你无法在仓库的根目录(在这个例子中是 /home/szbullsoft/svn/repository)直接看到文件的最新版本,因为SVN使用了特定的数据库格式来存储这些信息。

那我需要下载Doc目录并添加内容呢,如何实现?

开始我以为要在哪里创建一个目录,试了没成功,后来明白了SVN数据存储原理:文件,文件夹都不是以文件形式存在,而是将数据存储在db库文件中

创建Doc目录简单做法就是:

mkdir Doc 

svn add Doc 

svn commit -m "Creating Doc directory"

之后就可以checkout 目录Doc了


http://www.ppmy.cn/news/1424521.html

相关文章

数组和指针的联系(C语言)

数组和指针是两种不同的数据类型,数组是一种构造类型,用于存储一组相同类型的变量;而指针是一种特殊类型,专门用来存放数据的地址。数组名除了sizeof(数组名)和&数组名表示整个数组外,其他情况下都表示的是首元素的…

Android开发——ListView

activity_main.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_height"match_parent"android:layout_width"match_parent"…

EasyExcel追加写入数据,分批查询多次写入场景下,注意使用方式【OOM警告】

使用.withTemplate(file) 将临时数据文件和真实数据文件合并的方式&#xff0c;在生产环境大批量数据下&#xff0c;完全不可取&#xff0c;有很高的内存溢出风险 伪代码 public static void writeAppend(String fileName) {String filePath "tempDir".concat(Fil…

Android rxjava

一.简介 RxJava是ReactiveX在JVM上的一个实现&#xff0c;ReactiveX使用Observable序列组合异步和基于事件的程序的库&#xff1b;是一个基于事件流、实现异步操作的库。RxJava在Java环境下使用&#xff0c;它通过Observable&#xff08;可观测对象&#xff09;和Subscriber&a…

Android之图片压缩几种方式

大概可以分为以下几类&#xff1a;更换图片格式&#xff0c;质量压缩&#xff0c;采样率压缩&#xff0c;缩放压缩&#xff0c;调用jpeg压缩等 1.设置图片格式 Android目前常用的图片格式有png&#xff0c;jpeg和webp&#xff0c; png&#xff1a;无损压缩图片格式&#xff0…

代码随想录算法训练营第三十六天| 435.无重叠区间、763.划分字母区间、56.合并区间

系列文章目录 目录 系列文章目录435. 无重叠区间贪心算法按左边界排序&#xff08;与【452. 用最少数量的箭引爆气球】思路差不多&#xff09; 763.划分字母区间贪心算法①将字符串映射到哈希数组&#xff0c;用二维数组记录每个字母存在的区间&#xff0c; 转化为重叠区间问题…

Rust 语言使用 SQLite 数据库

SQLite 是一种广泛使用的轻量级数据库&#xff0c;它通过简单的文件来承载数据&#xff0c;无需复杂的服务器配置。正因如此&#xff0c;它成为了许多桌面和移动应用的首选数据库。在 Rust 生态中&#xff0c;rusqlite 库为开发者提供了操作 SQLite 数据库的简洁且有效的方法。…

Python 编程必备技能:解包。简化代码,提高效率

在 Python 中&#xff0c;解包&#xff08;Unpacking&#xff09;是指将一个序列&#xff08;列表、元组等&#xff09;或字典中的元素解开&#xff0c;分别赋值给多个变量的过程。解包可以方便地将序列或字典中的元素分别取出来&#xff0c;用于后续的处理和操作。 在 Python…