Squirrel

使用Cornerstone搭建本地SVN服务器

        前段时间写了一篇关于Cornerstone的简单配置和使用。今天抽空又研究了一下关于Cornerstone如何搭建本地SVN服务器,并写下一篇文章和大家共同学习,如有错误的地方,欢迎指正。

  1. 点击Cornerstone左下角REPOSITORIES栏右边的加号按钮,在弹出的视图中选择File Repository,然后选择Create a New Repository,接着开始填写资料:

        Where  是指本地服务器的存放地址。放在一个自己比较容易记地方,例如文稿里面;

        Nickname 是指你本地服务器的名称,可随意去,只要你自己记得;

        Create as 填写与Nickname名称一样就好。

        Compatibility 兼容SVN的版本,现在Xcode7.3自带的应该是SVN 1.7,如果你不知道你的SVN版本号是多少,可以在终端输出命令svn --version 查看我这边的查询结果是

    svn, version 1.7.22 (r1694152),填写完这些,点击按钮Add就好了。

  2. SVN配置

     去你存放的路径,点击你的资源库文件夹,然后修改他的子文件夹conf中的authz、passwd、svnserve.conf这三个文件,直接用文本工具打开。

    1、authz

      a、修改之前呢是这样的,

      [groups]

      # harry_and_sally = harry,sally

      # harry_sally_and_joe = harry,sally,&joe

      # [/foo/bar]

      # harry = rw

      # &joe = r

      # * =

      b、修改之后呢是这样的

      [groups]

      # harry_and_sally = harry,sally

      # harry_sally_and_joe = harry,sally,&joe

      testGroup =zhuzhuxia,xiaofeifei

      [/]

      @testGroup=rw

      [/]

      zhuzhuxia=rw

      xiaofeifei=rw

      # [/foo/bar]

      # harry = rw

      # &joe = r

      # * =

      很明显中间多了这么一串

      testGroup =zhuzhuxia,xiaofeifei

      [/]

      @testGroup=rw

      [/]

      zhuzhuxia=rw

      xiaofeifei=rw

      首先呢,testGroup就是你所创建的组名了,自定义的,随便写。

      zhuzhuxia,xiaofeifei这个呢就是你的组成员

      [/]

      @testGroup=rw

      [/]

      zhuzhuxia=rw

      xiaofeifei=rw

      这个就是所谓的配置权限了,[/]代表你SVN中的所有资源,再加上@testGroup=rw意思是该小组中所有成员对SVN中的所有资源具有读写权限,rw = read and write

      至于为什么后面又要加上

      [/]

      zhuzhuxia=rw

      xiaofeifei=rw

      这一串我就不是很清楚了,毕竟这个涉及得少。

      2、passed

      成员添加了就该设置密码了吧

      修改前:

      [users]

      # harry = harryssecret

      # sally = sallyssecret

      修改后:

      [users]

      # harry = harryssecret

      # sally = sallyssecret

      zhuzhuxia=123456

      xiaofeifei=123456

      3、svnserve.conf

      修改前:

      其中有这么四段,自己去找吧

      # anon-access = read

      # auth-access = write

      # password-db = passwd

      # authz-db = author

      修改后:

      删掉每段前面的空格和#,

      其中值得注意的是:anon-access = read这个表示用于他人匿名查看你的资源,但是他仅仅具有查看功能,

      anon-access = none这个呢就代表要查看资源必须具有账号和密码

      anon-access = none

      auth-access = write

      password-db = passwd

      authz-db = author

      如此,SVN的权限就配置好了

  3. 开启你的SVN

    在终端中输出指令:svnserve -d -r + 你的版本库地址

      强调一下,版本库地址尽量别手动输入地址,很容易出错的,直接拖文件夹进终端,他会自动生成的,地址反正比你的准确就对了

      我的是:svnserve -d -r /Users/Squirrel/Documents/

    CreateSVN

    ,输入完毕没反应,基本上就是成功了,不信的话自己也可以去活动监视器里面看的

      如果你开启了多个svn,那你就在终端输入指令:ps aux |grep svn,然后紧跟你Mac用户名后面的那个数字(此处是2698),并且末尾也会告诉你这个数字与你开启的哪个SVN相对应。

      我的是:

    Squirrel         4064   0.0  0.0  2444608    620   ??  Ss   10:21下午   0:00.00 /Applications/Xcode.app/Contents/Developer/usr/bin/svnserve -d -r /Users/Squirrel/Documents/CreateSVN

  4. 上传源文件

    在Cornerstone中,光标选中居于左下角的你的版本库,然后在软件中上方就能点击import了,然后按照他的提示,去选择你要上传的源文件就好

  5. Check源文件

    import源文件之后,你有两种选择方式:其一为中上方的export,这个仅仅是导出源文件,他并不具有svn的基本功能,我们一般用的是check,点击cornerstone中的源文件,然后点击左上角的Check Out

          Check Out As 是你导出后文件的名称,

      Where是导出位置

      Format是SVN的版本,别选错了


    如此你自己的SVN就好了,剩余的就是你的小伙伴的工作了。

  6. 小伙伴check源代码

    打开工具Cornerstone,然后点击左下角REPOSITORIES旁边的"+",在弹出视图上选择SVN Server,填写

      Server:是搭建SVN服务器之人的IP

      Port:一般本地SVN服务器的应该不用写

      Repository:这是资源库下代码库的地址,也就是你存放源代码的上一级,这个待会儿再细说

      Nickname:这个当你填写上面之后会自动生成的

      Name:你的SVN账号

      Pasword:你的SVN密码


      点击Add,左下方自然会生成你的资源库的,然后光标移至该资源库中的源代码,点击左上角的CheckOut,以后你写代码就得在你所check的地址中写了。

      注意:下面来详细说一下这个Repository

      我们都知道这是源代码存放地址,但是不明白的是为什么我此时不写地址也能拷贝出代码,其实我也不懂。但是我想要说的解法:

      比如,我们多数情况下只会创建一个SVN,然后多个项目存储在资源库中,但是像我这个例子中,我们不写地址,那么我们的结果是把所有的资源都拷贝了过来,可是我们只是想要其中一部分而已呢,

      此时我们就要创建子文件夹了:光标移至资源库,然后右击资源库的空白处就会出现选择菜单,点击New Floder in "GG Boy",然后按着提示做就创建了子文件夹了,此后我们不同的源代码就可以存储在一个SVN中,并且能够被单一识别。

      

     

      比如我创建了一个名为BCD文件夹,你的小伙伴想要check里边的代码,那么他的Repository就得填写为BCD。


评论
© Squirrel | Powered by LOFTER