mac下的svn服务器建立

MAC下的SVN服务器建立:

from : 

http://blog.csdn.net/q199109106q/article/details/8655204

 

在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境。在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何第三方软件的前提下使用svn功能,不过还需做一下简单的配置。

我们首先来看下,如何在Mac环境下搭建svn服务器端环境。

创建代码仓库,用来存储客户端所上传的代码

我先在/User/apple目录下新建一个svn目录,以后可以在svn目录下创建多个仓库目录

打开终端,创建一个mycode仓库,输入指令:svnadmin create /Users/apple/svn/mycode

指令执行成功后,会发现硬盘上多了个/Users/apple/svn/mycode目录,目录结构如下:

 

配置svn的用户权限

主要是修改/svn/mycode/conf目录下的三个文件

1.打开svnserve.conf,将下列配置项前面的#空格都去掉(空格一定要去掉,否则失败)

[java] view plaincopy
  1. # anon-access = read  
  2. # auth-access = write  
  3.   
  4. # password-db = passwd  
  5.   
  6. # authz-db = authz  

anon-access = read代表匿名访问的时候是只读的,若改为anon-access = none代表禁止匿名访问,需要帐号密码才能访问

 

2.打开passwd,在[users]下面添加帐号和密码,比如:

[java] view plaincopy
  1. [users]  
  2. mj = 123  
  3. jj = 456  

 

帐号是mj,密码是123

 

3.打开authz,配置用户组和权限

我们可以将在passwd里添加的用户分配到不同的用户组里,以后的话,就可以对不同用户组设置不同的权限,没有必要对每个用户进行单独设置权限。

在[groups]下面添加组名和用户名,多个用户之间用逗号(,)隔开

[java] view plaincopy
  1. [groups]  
  2. topgroup=mj,jj  

 

明mj和jj都是属于topgroup这个组的,接下来再进行权限配置。

使用[/]代表svn服务器中的所有资源库

[java] view plaincopy
  1. [/]  
  2. @topgroup = rw  

 

上面的配置说明topgroup这个组中的所有用户对所有资源库都有读写(rw)权限,组名前面要用@

如果是用户名,不用加@,比如mj这个用户有读写权限

[java] view plaincopy
  1. [/]  
  2. mj = rw  

 

至于其他精细的权限控制,可以参考authz文件中的其他内容

 

4.启动svn服务

前面配置了这么多,最关键还是看能否正常启动服务器,若启动不来,前面做再多工作也是徒劳。

在终端输入下列指令:svnserve -d -r /Users/apple/svn

或者输入:svnserve -d -r /Users/apple/svn/mycode(不能再加/mycode的子目录,否则导入代码时会长时间没反应)

没有任何提示就说明启动成功了

 

5.关闭svn服务

如果你想要关闭svn服务器,(在应用程序--》实用工具--》活动监视器,)最有效的办法是打开实用工具里面的“活动监视器”

综合上述,我们就可以轻松搭建svn服务器环境了

 

使用svn客户端功能

1.从本地导入代码到服务器(第一次初始化导入)

在终端中输入

svn import /Users/apple/Documents/eclipse_workspace/weibo svn://localhost/mycode/weibo --username=mj --password=123 -m "初始化导入"

我解释下指令的意思:将/Users/apple/Documents/eclipse_workspace/weibo中的所有内容,上传到服务器mycode仓库的weibo目录下,后面双引号中的"初始化导入"是注释

 

2.从服务器端下载代码到客户端本地

在终端中输入svn checkout svn://localhost/mycode --username=mj --password=123 /Users/apple/Documents/code

我解释下指令的意思:将服务器中mycode仓库的内容下载到/Users/apple/Documents/code目录中

 

3.提交更改过的代码到服务器

在步骤2中已经将服务器端的代码都下载到/Users/apple/Documents/code目录中,现在修改下里面的一些代码,然后提交这些修改到服务器

1> 打开终端,先定位到/Users/apple/Documents/code目录,输入:cd/Users/apple/Documents/code

2> 输入提交指令:svn commit -m "修改了main.m文件"

这个指令会将/Users/apple/Documents/code下的所有修改都同步到服务器端,假如这次我只修改了main.文件

可以看到终端的打印信息:

[java] view plaincopy
  1. Sending        weibo/weibo/main.m  
  2. Transmitting file data .  
  3. Committed revision 2.  

 

 

4.更新服务器端的代码到客户端

这个应该是最简单的指令了,在终端中定位到客户端代码目录后,比如上面的/Users/apple/Documents/code目录,然后再输入指令:svn update

 

5.至于svn的其他用法,可以在终端输入:svn help

这里列出一大堆svn指令,后面括号中的内容的一般代表着指令的简称,比如我们可以用svn ci代替svn commit,用svn co代替svn checkout

 

 

http://www.7do.net/resources-4466-1-1.html

 

启动终端,命令如下: 
svnadmin create /Users/Johnny/Repository
我在自己的主目录下建立了一个名为“Repository”的代码库。

第二步,配置这个代码仓库。终端中继续,命令如下: 
cd /Users/Johnny/Repository/conf 
首先修改svnserve.conf文件,只要把
#password-db = passwd 
这句话的#去掉,是这个配置项生效即可。保存退出。 
接着修改passwd文件,这个里面存着这个代码库接受的用户名和密码 
采用的形式是[用户名]=[密码]。可以增加一个用户“user”,密码“pass” 
user=pass 
保存退出。 

第三步,启动服务器。终端中继续,命令如下: 
svnserve -d -r /Users/Johnny/Repository 
没有任何提示就说明启动成功了。 
停止:killall -9 svnserve

转载于:https://www.cnblogs.com/mjian/p/9250140.html

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

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

相关文章

php 字符串 替换 最后,php如何替换字符串中的最后一个字符

php替换字符串中的最后一个字符的方法是:可以通过preg_replace()函数来实现。该函数的语法为:【preg_replace(mixed $pattern, mixed $replacement, mixed $subject】。要替换字符串中的最后一个字符,可以通过preg_replace()函数来实现。(如果…

logback的使用和logback.xml详解

原文地址:https://www.cnblogs.com/warking/p/5710303.html#4046335 作者:行走在云端的愚公 一、logback的介绍   Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch。它当前分为下面下个模块: …

tcp协议的主要功能是什么_前端要知道的网络知识一:TCP/IP 协议到底在讲什么...

你之所以不知道那套书在讲什么,是因为你还没有认识到网络协议有什么用,怎么用,以什么形式在使用,网络协议的概念很简单,就几句话,你只知道网络协议的概念,只知道很多大神都推荐这套书&#xff0…

mysql创建定时器(event),查看定时器,打开定时器,设置定时器时间

为什么80%的码农都做不了架构师?>>> 由于项目需要创建定时器(evevt),所以就百度了一下,发现基本都是来源于一个模板,有些功能还不全,现在自己总结一下。 注:mysql版本是…

音频视频

1.IOS视频播放代码(添加MediaPlayer.framework和#import) -(void)playMovie:(NSString *)fileName{//视频文件路径NSString *path [[NSBundle mainBundle] pathForResource:fileName ofType:"mp4"];//视频URLNSURL *url [NSURL fileURLWithP…

linux内核怎么修改屏幕旋转方向_树莓派4—屏幕旋转

配置:树莓派4raspberry pi系统,HDMI显示,非触屏。问题:想将屏幕旋转90,按网上说的,方法一:在config.txt文件中添加display_rotate1,或者添加display_hdmi_rotate1,保存后…

独家直播!阿里移动前端开源框架Weex揭秘

或许你写过了很多行代码,修过许多的bug,学过各种各样的语言,却只在一个最好的时机遇见了他…… 是啥? 敲!黑!板!跟!我!念!Weex~~&…

python异常值处理实例_利用Python进行异常值分析实例代码

前言 异常值是指样本中的个别值,也称为离群点,其数值明显偏离其余的观测值。常用检测方法3σ原则和箱型图。其中,3σ原则只适用服从正态分布的数据。在3σ原则下,异常值被定义为观察值和平均值的偏差超过3倍标准差的值。P(|x−μ|…

MSSQL 发布订阅,实现读写分离

主库做增删改,从库只读。 大部分的数据库压力,都是由查询引起的,读写分离可以减轻数据库的压力。 1、在(主)数据库上对需要同步的数据进行发布。 2、在(从)数据库上对(主)数据库的发布进行订阅。 注:发布订阅都需要实际的服务器名…

Block

1、认识Block Block封装了一段代码,可以在任何时候执行Block可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值,它和传统的函数指针很类似,但是有区别:block是inline(内联函数)的&#x…

坚持学习WF(8):本地服务之调用外部方法

WF提供了一组核心服务,例如在SQL 数据库中存储工作流实例的执行详细信息的持久性服务,计划服务,事务服务和跟踪服务。除了这些WF也提供了另外一种服务,叫做Local Service也可以叫做Data exchange service。主要是实现工作流和宿主…

c++归并排序_合并排序法

一、合并排序(Merge Sort) 就是将多个有序数据表合并成一个有序数据表。如果参与合并的只有两个有序表,那么称为二路合并。对于一个原始的待排序序列,往往可以通过分割的方法来归结为多路合并排序。二、一个待排序的原始数据序列进行合并排序的基本思路是…

微习惯虽好,但是最重要的还是坚持

2019独角兽企业重金招聘Python工程师标准>>> “微习惯”一词是由美国的斯蒂芬盖斯提出的。他以前是个宅男,懒虫,为了改变自己而找到了这个方法。并且在自己身上实验成功。养成了好的读书、写作和健身的习惯,实现了人生的华丽转身。…

带你了解zabbix整合ELK收集系统异常日志触发告警~

今天来了解一下关于ELK的“L”-Logstash,没错,就是这个神奇小组件,我们都知道,它是ELK不可缺少的组件,完成了输入(input),过滤(fileter),output(输…

用python设计学生管理系统_Python实现GUI学生信息管理系统

本文实例为大家分享了Python实现GUI学生信息管理系统的具体代码,供大家参考,具体内容如下 项目环境: 软件环境: OS:RedHat6.3 Lib:Pygtk Language:Python Support tool:Glade3 项目简述: ①Glade3设计用户的登录窗口,功…

python理论知识选择题_Python基础自测题答案和基础知识梳理

Python基础自测题答案和基础知识梳理 1.关于Python中的lambda表达式的函数体自能是单独一条语句,所以答案选择C。 例如:>>>g lambda x: 2*x1 g(3) 7 2.Python中的变量不需要事先声明,但是需要创建和赋值,否则你怎么用&a…

查找算法之顺序查找

参考: 1. 顺序查找 | 博客园 基本思想: 顺序查找,就是从第一个元素开始,按索引顺序遍历待查找序列,直到找出给定目标或者查找失败。 特点: 1. 对待查序列(表)无要求 -- 待查找序列可…

python数据预测_python时间序列预测股票走势

提示:这只是个训练模型,技术不具备实际意义,入市需谨慎。 首先调用tushare包 import tushare as ts import pandas as pd import matplotlib.pyplot as plt 查自己比较感兴趣的股票,这里我查找的是新能源/燃料电池/氢燃料&#xf…

30.Android之百度地图简单学习

今天用了下百度地图,简单写了一个例子,记录下。 一、申请AK(API Key) 要想使用百度地图sdk,就必须申请一个百度地图的api key。申请流程挺简单的。 首先注册成为百度的开发者,然后打开http://lbsyun.baidu.…

python爬取b站弹幕_爬取B站弹幕并且制作词云

目录 SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。 爬取弹幕 1. 从手机端口进入网页爬取找到接口 2.代码 import requests from lxml import etree import numpy as np urlhttps://api.bilibili.com/x/v1…