如何用mac搭建本地svn服务器(如何将mac变成版本管理服务器)

news2025/1/12 13:35:59

前言

一、搭建本地svn服务器

1.建立代码库

2.配置文件修改

3.启动本地svn服务

二、搭建过程中常见问题

如果Mac os升级到10.0以上,自带的svn不支持了怎么办

三、mac本地使用svn软件管理svn库

cornerstone3安装

四、使用Cornerstone会存在的问题

Mac打开应用提示已损坏怎么办?

配置svn server注意事项

SVN不能显示日志log

关于svn服务器文件具体存放路径问题

四、如何用其他设备远程连接到这台Mac搭建的本地svn服务器

如何远程连接这台svn服务器

常见报错问题

总结​​​​​​​


前言

由于开发工作进行到越来越后面,本地计算机储存了大量的历史版本文件数据,给本地电脑产生了很大的存储压力,同时为了规范本地文件的存放和历史版本管理,因此产生了将办公室闲置的一台mac搭建成svn服务器进行各种资料的版本管理工作。本篇文章将详细的讲述从搭建svn服务到远程登录svn服务进行版本管理的全流程。


一、搭建本地svn服务器

Mac是自带svn服务器的,我们需要开启svn的服务器,相应的也是需要建立svn的代码库。(注意:如果你的mac已经升级到Catalina(10.15.*)及以上,那么自带的svn已经不支持使用了,所以针对这种情况,下面章节会详细说明)

1.建立代码库

 //创建一个文件夹,并将文件夹设置为svn的代码库
svnadmin create /Users/Mac/svn/你创建的文件夹              

注意:不能在“/用户名/别的文件夹”下面建立“/svn”,否则localhost会识别不出来,在“/用户名下”建立“/svn”,再在“/svn”下建立svn库,就可以识别出来了。

2.配置文件修改

在finder中打开上面的路径,我们可以看到其中生成了一些文件,我们需要配置conf文件夹下的svnserve.conf、passwd、authz三个文件。(注意:可以不需要在终端用命令编辑,直接用文本编辑器打开这三个文件即可)

配置svnserve.conf :

将下图红色框框里面的内容前的#号去掉即可!(注意:其中anon-access = read最好改为anon-access = none;前者表示匿名只读访问,后者表示禁止匿名访问,只有输入了账号密码才可以)

配置 passwd:

用户名aaa,密码123456

配置 authz

1⃣️users = aaa,bbb表示创建了一个用户组,此用户组包含有aaa和bbb两个用户
2⃣️[/]表示授权的目录路径,这里是根目录
3⃣️users = rw表示给users用户组读写的权限,r表示读,w表示写,如果是给单独用户授权表示为:aaa = rw

3.启动本地svn服务

svnserve -d -r /Users/Mac/svn

注意:路径mac为你自己的电脑用户名

没有报错就是启动成功,可以在监控器中看到该服务进程

二、搭建过程中常见问题

如果Mac os升级到10.0以上,自带的svn不支持了怎么办

问题描述:运行svn指令报错信息如下:
svn: error: The subversion command line tools are no longer provided by Xcode

解决方法:
使用HomeBrew来安装SubVersions
命令行 brew install subversion

结果:

你会发现安装svn有可能会失败,因为软件源的问题,导致安装失败,建议使用国内镜像源即可。

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

运行上述命令之后,选择1 ,5 选项,中科院镜像源。

brew install svn

运行上述命令之后,安装svn完成,查看 svn --version 如果还是报错就用下面的命令修复

sudo chown -R $(whoami) $(brew --prefix)/*

运行上述命令,如果还没有报错,继续执行brew install svn进行安装。关于Homebrew国内如何自动安装,可以看知乎专栏文章。

三、mac本地使用svn软件管理svn库

我们在Windows系统中经常使用的tortoise svn是不支持mac系统的,这里推荐两款mac版本的svn客户端,snail svn和cornerstone3 mac版,这里比较推荐后者,前者精简版才是免费的,但是功能不全面,不过界面是中文,后者功能全面一些,使用更加方便,不过是英文版。

cornerstone3安装

下载链接,密码:lz93
下载完成之后进行安装,如果无法下载或者安装存在问题可以用链接2和链接3下载安装。
打开cornerstone,具体使用方法很简单这里就不讲了,在链接2和链接3中均有详细介绍该软件的使用方法。

四、使用Cornerstone会存在的问题

Mac打开应用提示已损坏怎么办?

我们在使用mac系统安装或下载一些软件应用时,偶尔会出现“XXX软件已损坏”的情况,下面提供解决流程:

1⃣️MacOS 10.15及以上新系统出现应用提示损坏打不开的解决方法:

      打开终端(屏幕下方Dock栏中的的小火箭图标“启动台”——“其他”——打开“终端”),在终端中粘贴下面命令: sudo xattr -r -d com.apple.quarantine (* quarantine 后面有个空格)

      打开屏幕下方的“访达”—选择左侧边栏的“应用程序”,再找到你需要处理的软件拖拽到命令后面,按回车后输入密码执行,举个例子,比如需要打开sketch应用的命令是:

sudo xattr -r -d com.apple.quarantine /Applications/sketch.app/

2⃣️新的系统为了加强安全机制,默认不允许用户自行下载安装应用程序,只能从Mac App Store里安装应用。那么怎么解决呢?首先, 打开终端(屏幕下方Dock栏中的的小火箭图标“启动台”——“其他”——打开“终端”),然后,输入代码:sudo spctl --master-disable(*master前面为两个短横线)注意红框处是空格。按回车输入自己电脑的密码,按下回车即可。

3⃣️打开系统偏好设置 ,点击安全性与隐私,如果显示任何来源,则流程完成。

4⃣️如果出现类似“打不开“xxxx”,因为它来自身份不明的开发者”的情况,还可以,在“系统偏好设置—安全性与隐私—通用—允许从以下位置下载的应用”选择“仍要打开”,让系统同意应用运行即可。

配置svn server注意事项

点击add repository,选择svn server并填写如下图的内容:
Server:本地服务器填写localhost,局域网写ip地址,例如:192.168.12.123

注意:不能在“/用户名/别的文件夹”下面建立“/svn”,否则localhost会识别不出来,在“/用户名下”建立“/svn”,再在“/svn”下建立svn库,就可以识别出来了。
respository path:写“/svn/”后面的内容(注意:是svn后面的目录)
最下面写在passwd中配置过得密码,最后add就好了,

SVN不能显示日志log

现象:Cornerstone SVN使用起来都正常,就是不能显示log日志,报错“could not contact repository to read the latest log entries”。(如果按照本篇文章从头到尾操作,这里就不会出现这种情况。)

解决:把svnserve.conf里的anon-access = read改成anon-access = none,或者新增anon-access = none,都可以。= read 表示匿名访问的时候是只读的;= none 表示需要账户和密码才能访问。

关于svn服务器文件具体存放路径问题

SVN服务器版本库有两种格式:FSFS和BDB
把文件上传到SVN版本库后,上传的文件不再以文件原来的格式存储,而是被svn以它自定义的格式压缩成版本库数据,存放在版本库中。
如果是FSFS格式,这些数据存放在版本库的db目录中,里面的revs和revprops分别存放着每次提交的差异数据和日志等信息。

目前用的最多的是FSFS方式,这种方式的话,一般是存储在\db\revs文件夹下,里面有一堆以版本号命名的文件,如:0、1、2、3、4......,那个就是了。

svn先把0版本的状态压缩成1个文件,然后每次版本更新时就针对变动的部分做一个压缩文件,每次都是增加一个增量包,最后在服务器上能看到文件名为从0开始到最终版本的一系列文件。

四、如何用其他设备远程连接到这台Mac搭建的本地svn服务器

如何远程连接这台svn服务器

进行到这里,最后我们来讲一下怎么通过其他设备通过svn工具,远程链接到这台Mac svn服务器并且达到资源文件版本管理的工作。

先决条件:Mac和我们使用的其他设备必须在同一个局域网下。如果不在同一个局域网之下,就需要用到其他手段实现外网到内网的穿透,以达到外网也可以访问处于局域网中的这台Mac服务器。(内网穿透工具推荐:小米球和echosite,这部分内容可以看我相关文章或者自行百度)

查看这台Mac svn服务器的局域网IP:ifconfig

其他设备:其他设备上的svn工具配置好IP和路径,输入账号密码就可以连上这台svn服务器啦。

常见报错问题

我自己在windows设备上装的svn工具是TortoiseSVN,在正常的配置ip和路径,输入账号密码之后,报错:由于目标机器积极拒绝,无法连接。

这种情况存在两种原因:

1⃣️远程svn服务未启动。我们可以在这台mac设备的活动监视器里面查看svn服务是否还存在。

2⃣️svn仓库路径搞错了。可以在svn下建立很多仓库:

建立test仓库,访问的时候:svn://localhost/test

建立oa,则访问的时候 svn://localhost/oa


总结

这篇文章到这里就结束了,针对利用mac设备搭建svn服务器需要注意的一系列问题应该都列出来了,仅供大家学习参考。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/74940.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

硬件 RAID 与软件 RAID 之间的区别

独立磁盘冗余阵列 (RAID) 是一种将多个物理驱动器组合到一个单元中的虚拟磁盘技术。这是一种通过使用多个驱动器来提高存储介质的性能和可靠性的方法。驱动器配置为在磁盘之间划分数据以分配负载,或者复制数据以确保在磁盘发生故障后可以恢复…

Oauth2.0实现单点登录的原理流程,这次总该懂了!

单点登录是多域名企业站点流行的登录方式。本文以现实生活场景辅助理解,力争彻底理清 OAuth2.0 实现单点登录的原理流程。同时总结了权限控制的实现方案,及其在微服务架构中的应用。 1 什么是单点登录 1.1 多点登录 传统的多点登录系统中,…

正大国际期货:外盘期货恒指八大交易法则!

现在比较流行的期货并不算多,主流的就是恒指期货、美原油期货和黄金期货还有德指期货、道指、铜、天然气等等,恒指期货是最适合亚洲人投资的期货品种,现在国内很多投资人也会选择恒指期货入手。那么投资者要遵循哪些法则才可能在期货市场中获…

安装虚拟机以及linux(Centos 7)系统

背景:模拟部署系统至Linux服务器上并运行 下载VMware Workstation Pro并激活,自行百度下载。 打开虚拟机“创建新的虚拟机” 然后选择自定义,选择好后点击下一步 直接下一步 稍后安装操作系统 客户机操作系统选择Linux,版本选择…

element集成第三方icon图标

引言 集成阿里图标库 进入阿里icon,新建项目 选择一个自己喜欢的icon库,将里面的图标加入购物车中 因为没有批量导入购物车,所以一般情况下需要一个一个去点,太浪费时间,那么请在控制台输入以下代码,批量…

Spring 中 @Bean 注解流程分析

代码案例 现在 SpringBoot、SpringCloud 基本上都是通过 Bean 注解来将组件交给 Spring 管理,所以对 Bean 的流程应该要有所了解。 这里先定义一个 Blue 的实体类,如下: public class Blue { }然后定义一个入口类,通过 Bean 注…

rocketMq介绍和安装

rocketMq介绍和安装 Mq介绍 MQ:MessageQueue,消息队列。 队列,是一种FIFO 先进先出的数据结构。消息由生产者发送到MQ进行排队,然后按原来的顺序交由消息的消费者进行处理。 QQ和微信就是典型的MQ。 MQ的作用 主要有以下三个…

天翼物联2项成果成功入选“工信部2022年移动物联网应用典型案例库”

近日,工信部公布了2022年移动物联网应用典型案例征集活动入库案例名单,天翼物联牵头申报的“智慧农业——水肥一体化物联网项目”、“智能表计——抄表机器人物联网项目”成功入选。 本次典型应用案例征集由工业和信息化部组织开展,征集范围包…

产品结构设计的技巧和规则?

说到产品,产品结构设计在当今时代非常重要。它不仅感受到用户的青睐,而且影响销售,因此每个人都非常重视产品结构设计。那你知道产品结构设计的技巧和规则吗? 一、选材方面: 1.耐温等塑料制品的使用环境.耐寒.食品卫生.耐磨等; 2…

resnet(3)------卷积层与激活函数与池化层

文章目录一. 卷积层二. 激活函数1. Sigmoid函数2. tanh函数3. Relu函数三. 池化层一. 卷积层 上一篇文章我们讲到过可以通过控制卷积层的个数来提取图像的不同特征,但是事实上卷积是一种线性运算,更准确的说是一种线性加权运算,而线性运算是…

web课程设计网页规划与设计——惊奇漫画网站

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置,有div的样式格局,这个实例比较全面,有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 ⚽精彩专栏推荐&#x1…

基于蚁群优化算法的直流电机模糊PID控制(Matlab实现)

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清…

基于jsp+mysql+ssm电影视频预约推荐系统-计算机毕业设计

项目介绍 本基于SSM框架的电影预约推荐系统主要包含了等系统用户管理、影视分类管理、电影预约信息管理、预约信息审核管理多个功能模块,系统采用了jsp的mvc框架,SSM(springMvcspringMybatis)框架进行开发,本系统是独立的运行,不依附于其他系统,可移植&…

MaxSite CMS 代码问题漏洞(CVE-2022-25411)

0x01 漏洞介绍 MaxSite CMS是俄国MaxSite CMS开源项目的一款网站内容管理系统。Maxsite CMS存在代码问题漏洞,该漏洞允许攻击者可利用该漏洞通过精心制作的PHP文件执行任意代码。漏洞在/admin/options 处的远程代码执行 (RCE) 漏洞允许攻击者通过构建的 PHP 文件执行任意代码…

能源管理系统主要功能|智慧工厂|瑜岿科技

瑜岿科技综合能源管理系统以物联网LoT平台为底座,并发挥其数据融合和系统集成能力,不断完善和扩充在数字化运维场景下的功能库,系统升级后具有智慧能效、智慧运维、需求响应、碳中和、资产管理、数字展示大屏等功能模块,现可将水、…

【ARM-Trustzone-TEE-ATF-SOC群】周刊 第一期:开篇

背景 很多小伙伴也都知道,学习/探讨Arm/安全/tee是有群的,而且不止一个。在此群中,有很多很多优秀的小伙伴,每天讨论着各种各样的技术,透过事务看本质,直奔主题的讨论。这里聚集着一些SOC大牛、ASIC大牛、…

营销革命5.0—用技术手段推动市场部变革

随着政治、经济、社会环境和消费者的需求与行为的改变,以及日新月异的技术进步,营销的思想和模式在不断迭代。科特勒教授将营销的演进划分为5个阶段: 第一个阶段是营销1.0时代,工业化时代以产品为中心的营销,解决企业…

sql数据库常用函数简单记录

1.参考文献 (388条消息) CAST()函数用法_普通网友的博客-CSDN博客_cast函数 (388条消息) oracle生成标准uuid,Oracle 生成uuid方法_Ms 陈的博客-CSDN博客 (388条消息) oracle的exists用法总结_见怪不怪丶的博客-CSDN博客_oracle exists (388条消息) …

Proxmox VE+Openstack超融合私有云建设案例(低成本高价值,拿走不谢,干翻公有云)

目录本文最终实现目标材料准备路由器设置机房静态公网ip设置WAN口宽带动态公网ip设置WAN口和DDNSLAN口设置wifi设置交换机配置服务器配置iBMC密码和ip设置升级固件Bios恢复到出厂设置PVE安装和网卡聚合mode4配置下载PVE iso文件iBMC设置光盘启动登录iBMC的KVM服务器硬盘设置连接…

CANoe-Test Trace Window、Vector设备的以太网端口

1. Test Trace Window Test Trace Window,测试跟踪窗口,是CANoe软件在Test Units的测试用例执行期间,观察和分析测试的所有执行动作的界面 打开测试跟踪窗口的方式有两种: 添加测试跟踪窗口有两种方式: 方法1方法2方法2也可以删除测试跟踪窗口 测试跟踪窗口可以通过Conf…