svn 订阅
SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。 [1] 展开全文
SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。 [1]
信息
学    科
软件工程
应    用
软件程序开发
外文名
Subversion
优    势
速度快、安全性高等
中文名
SVN
实    质
开放源代码的版本控制系统
SVN版本控制
一个软件开发试行后,最关键的问题就是能够有效的实现软件版本系统的控制,而作为版本控制系统的核心任务,能否完成成功的查阅历史操作记录和实现协同开发才是公司研发团队关注的问题。版本控制(Version control)是项目开发与管理的标准做法,能追踪项目从开始到结束的整个过程,常被应用于软件程序开发。对编程人员而言,版本控制技术是团队协作开发的桥梁,有助于多人同步进行大型程序开发。由于在多人协作开发的模式下,每个人都向服务器提交自己的文件,就可能存在着代码被多次修改、替换的风险,但是版本控制能够在每次更新操作后进行相应的记录。一旦发生误操作,开发者能够根据服务器中的版本记录,将项目恢复到出现问题之前的其他版本。因此,借助版本控制技术,软件开发项目可以被分割为若干模块,每个模块并行地进行开发工作,从而有效地提高了整体编程效率。版本控制技术对文件进行管理主要有两种模式:Lock-Modify-Unlock(锁-修改-解锁)和Copy-Modify-Merge(拷贝-修改-合并)。在Lock-Modify-Unlock工作模式下,若用户想对某文件进行修改,必须先锁定该文件再进行修改,修改操作完成之后再对其解锁。这种文档管理模式能够有效避免多人对某文件同时进行修改而造成的冲突,但是它减少了用户并发操作。除此之外,该模式还有一个非常明显的缺点,即如果前面的用户完成修改后,忘了对文件进行解锁操作,则会导致后面想修改此文件的用户将永远处于等待解锁状态。采用这种管理模式的版本控制工具主要有Visual Source Safe(VSS)。Copy-Modify-Merge工作模式下,当某一用户想修改文件时,可以先将服务器文件update到本地端,然后在本地端对副本进行修改,修改操作完成后,再将副本commit到服务器。如果在此用户commit之前,原文件已经被其他用户修改并提交过,那么服务器上的版本号与本地端上的版本号不同,二者将产生冲突,服务器将中止提交。此用户只有将服务器上的新版本update到本地端,将其与自己修改的文件进行合并,才能重新commit到服务器。在实际编程中,文件的合并过程一般需要编程人员共同协商决定。这种“拷贝-修改-合并”虽然需要花费一定的时间,但却比“锁-修改-解锁”等待的时间短,能够增加操作的并发度,大大提高团队的编程效率。大多数版本控制系统采用的是第二种方式,如Concurrent Versions System(CVS)和Subversion(SVN),而这其中SVN是最为流行的版本控制软件,许多开源软件都采用了SVN作为源码版本控制服务器。在SVN版本控制软件的管理下,不管是在局域网还是在Internet上都可以对文件和目录进行管理,它突破了时间与空间的限制,促进了团队协作开发。 [2] 
收起全文
精华内容
下载资源
问答
  • Eclipse中使用SVN

    万次阅读 多人点赞 2014-03-29 20:31:12
    概述在我们的日常工作中,经常会用到SVN,大多数都是搭配Eclipse/MyEclipse使用。本文主要介绍SVN在Eclipse中的一些最长用的功能,包括SVN插件的下载使用、上传代码到服务器、从服务器下载代码、从服务器更新代码、...

    微信搜索【程序员囧辉】,关注这个坚持分享技术干货的程序员。

     

    我的最新文章:新人如何顺利度过试用期,让你受益终身的几个技能

     

    概述

    在我们的日常工作中,经常会用到SVN,大多数都是搭配Eclipse/MyEclipse使用。本文主要介绍SVN在Eclipse中的一些最长用的功能,包括SVN插件的下载使用、上传代码到服务器、从服务器下载代码、从服务器更新代码、解决代码冲突。

    本文链接:http://blog.csdn.net/v123411739/article/details/22512133

     

    1.在Eclipse里下载Subclipse插件(建议使用方法三)

    方法一:从Eclipse Marketplace里面下载

    具体操作:打开Eclipse --> Help --> Eclipse Marketplace --> 在Find中输入subclipse搜索 --> 找到subclipse点击install
     

     

    方法二:从Install New Software里下载

    具体操作:打开Eclipse --> Help --> Install New Software --> 点击add按钮,输入下载地址:http://subclipse.tigris.org/update_1.10.x,点击OK
     
     
    --> 将Subclipse和SVNKit打勾后,一路next或agree到结束即可(此处由于本人已经安装,因此next是灰色的)
     
     

    方法三:直接下载subclipse的zip文件(建议使用)

    具体操作:百度搜索subclipse-site-1.10.x(看自己想安装哪个版本) --> 解压缩后在eclipse目录下找到dropins文件夹,进入dropins文件夹并新建一个文件夹名为svn,将features和plugins文件夹复制到svn目录下-->重启下Eclipse即可
     
     

    2.上传project到SVN服务器

    1.在Eclipse中,从Show View里调出SVN资源库视图

     

    2.在SVN资源库窗口的空白位置右键选择新建资源库位置

     

    3.填好服务器的地址

     

    4.资源库导入成功,SVN资源库视图下出现导入的资源库

     

    5.新建project,写好project的初始版本

     

    6.右键Project --> Team --> Share Project

     

    7.选择Repository类型为SVN --> 点击next

     

    8.使用已有资源库位置,或者创建新的资源库位置

     

    9.使用项目名称作为文件夹名 --> 点击Finish --> 输入用户名和密码(此步不一定每个人都有)

     

    10.自由选择是否打开Synchronize视图,建议打开

     

    11.右键project --> Team --> 提交

     

    12.自由选择是否写日志(建议写)

     

    13.点击OK --> 上传到服务器成功,此时刷新对应的资源库,资源库下出现上传的Project

     

    3.从服务器下载project到本地

    1.在资源库视图点击资源库左边的小三角形后出现该资源库下的所有Project(如果还没有资源库则参考上面新建一个资源库位,填入资源库地址即可)

     

    2.选择要下载的project右键 --> 检出为

     

    3.自由选择是否更改属性(建议使用默认) --> Finish --> 下载成功

     

    4.从服务器更新代码

    1.右键项目Project --> 与资源库同步
     
     
    2.选择打开Synchronize视图
     
     
    3.与本地代码有不同的服务器代码将显示在Synchronize视图下,双击某个代码文件可以查看本地代码和服务器代码的对比,加号的为新增的文件(本地还没有)
     
     
     
    4.将模式切换到Incoming Mode,这个模式下的代码都是服务器更新的代码,需要下载到本地的,右键要更新的文件 --> Team --> 更新
     

     

     

     

    5.如果出现下图这个符号,则代表本地代码和服务器代码有冲突(即:本地代码在未更新到最新版本的情况下,对代码进行了更改;或者在你对a.java写代码的期间,有人往服务器上传了新的a.java代码,使得代码间出现了冲突),有冲突时需要先解决冲突再合并代码

     

    5.冲突情况的解决办法

    冲突情况1:服务器代码和自己代码改动的地方相同

    这种情况比较复杂,一般只能将自己的代码保存一份到本地,然后直接将服务器代码更新下来,然后在新的代码上修改自己的逻辑。
     

    冲突情况2:服务器代码和自己代码改动的地方不同

    这种情况比较常见,就是你跟别的开发者都在更改同一个文件,但是由于开发任务是分开的,所以更改的地方是不同的,解决办法如下。
     
    1、双击冲突文件进入比较视图

     

    2、找到服务器上新增的但本地没有的代码块,选中此代码块,点击右上角的按钮(如下图箭头指向的按钮)将服务器代码复制到本地(其他地方也同此操作),如果点击按钮没用,则关闭比较视图重新打开

    下图为成功将服务器代码复制到本地代码,

     

    3.将所有服务器上新增的代码复制到本地文件后,右键冲突文件选择标记为合并即可,此时该文件就会消失在Synchronize视图下,并且该文件的代码已经成功将本地代码和远程代码合并到一起

     

     

     

     

    展开全文
  • svn

    千次阅读 2010-05-23 10:16:00
    1.Subversion是架设一个SVN server 必要的工具,自己必须手动配置Subversion 脚本或者执行命令行命令.最后通过命令行输入访问svn server. 这是没有TortoiseSVN前的时代. 2.TortoiseSVN是Subversion一个客户端访问工具...

    1.Subversion是架设一个SVN server 必要的工具,自己必须手动配置Subversion 脚本或者执行命令行命令.最后通过命令行输入访问svn server. 这是没有TortoiseSVN前的时代.

    2.TortoiseSVN是Subversion一个客户端访问工具,灵活的运用TortoiseSVN 可以最大化的减少配置Subversion   烦琐的命令行 参数输入.

    3.安装时Subversion版本要大于等于TortoiseSVN的版本。否则可能会出现导入时提示错误:期望文件系统格式在“1”到“3”之间;发现格式 “4"。

    4.执行“diff with previous version”时,如果还没有前一个版本,会报“版本库位置不在版本8中”正常错误。

    5./.svn/entries文件中记录了本项目文件在svn中存的位置,所以重装svn服务程序可以不用重新配置应用。

    6.http://code.google.com

       参考 http://ajava.org/course/manage/13141.html

       项目托管步骤:

       在www.google.com的更多里找到code,然后点Project Hosting(项目托管),点Project Hosting on Google Code或Eclipse Labs,点Sign in to create a project,登录后,点Sign in to create a project ,按照向导创建你的项目,要注意的是Project name,这一项是将来项目域名的一部分,不要有空格在字母或数字之间,并且它要求只能是小写字母。这样项目就创建好了,点击右上角的【profile】,这时创建的项目显示出来了。

         上传前,把不要上传的文件名,或后缀在常规设置的忽略中添加,上传时选择项目文件夹上传。

         上传时要认证,和google帐户的密码不同,登录名都是电子邮件地址。

         然后,新建一个文件夹,进入文件夹,使用和上传时一样的地址,检出。

     

    7.property/java build path/source/exluded/edit/exlusion patterns/add/  增加**/.svn,增加**/.svn/** 以解决src下的.svn被编译到bin下的问题。

    8.拷贝项目文件项,注意要删除掉其中的.svn文件,.svn文件可能是隐藏的。

    9.svn服务器地址更改时,
      把工程中的.svn文件夹全删除掉,然后在工程根目录内执行check out, 版本库地址为https://192.168.1.12:7000/svn/xx_android/trunk,检出至目录D:/e_workspace/xxAndroid

      检出过程会,svn会执行对比操作,不会覆盖。

     

    10.本地的svn  D:/SvnRepository,svn地址使用file:///D:/SvnRepository/项目名

         启动svn服务:svnserve -d -r D:\svnRepository

         创建一个库:新建SvnRepository目录,进入,右键Create resository here。

     

    11.TortoiseSVN是客户端,分为win32,x64版本。Subversion是服务端。

     12.在xcode中报:scm error  locked,Attempted to lock an already-locked dir 错误时,使命令行用“ svn cleanup /Users/x_workspace/工程目录”  解决

     

    13.如果在同一个Repository内,即Repository未发生变化,只是版本库的内部路径变化了,使用Switch功能,切换到新的路径上。此时如果使用了Relocate功能,会报Relocate can only change the repository part of an URL。

        如果Repository更名了,或者Repository被移动到了另一台服务器上,则要使用Relocate功能。


    14.  SVN简易使用手册

           svn resolved <filename or directory that gives trouble>

           svn delete  本地filePathNameOrPath

           http://blog.csdn.net/kceiw/article/details/2305748

           http://www.open.collab.net/scdocs/ddUsingSVN_command-line.html.zh-cn


       http://blog.163.com/xue_huashan/blog/static/8044800420111114523154/解决Google Code Settings无法访问的问题

       http://blog.163.com/xue_huashan/blog/static/8044800420111114523154/

     

    15.提交数据,服务器发送了意外的返回值(405 Method Not Allowed),在响应 “MKACTIVITY” 的请求

         使用http://开头的地址,能够正确的从googlecode上update。不过提交得用https://开头的地址。

         若使用的是TortoiseSVN,在右键中Relocate中修改地址。

         执行snv import也可能会出现405,可能因为服务器上已经存在了相同的上传的文件。

     

    16.svn与gif

         http://blog.sina.com.cn/s/blog_7c336a8301014gvs.html

         gif比svn具有很多优越性,有一种情况,SVN具有的悲观锁的功能,能够实现一个用户在编辑时对文件进行锁定,阻止多人同时编辑 一个文件。这一悲观锁的功能是 Git所不具备的。对于以二进制文件 (Word文档、PPT演示稿) 为主的版本库,为避免多人同时编辑造成合并上的困难,建议使用SVN做版本控制。


    17.嵌出指定版本的工程

         svn checkout 工程http地址 -r 版本号

         如: svn checkout http://.../project1 -r 8321


    18. svn diff -r xxxx:xxxx


    19.导入

    例如:将本地目录myproj导入到版本库的trunk/misc,trunk/misc在导入之前不需要存在,svn import会递归的创建目录。
    svn import -m "New import" myproj http://svn.red-bean.com/repos/trunk/misc
    这样会把myproj目录下的文件导入到/trunk/misc下,不会创建myproj目录。
    并且在导入数据之后,本地的myproj目录并没有纳入版本控制,为了开始工作,要运行svn checkout得到一个干净的目录树工作拷贝。


    svn import -m "import libs" libs https://xxx.googlecode.com/svn/trunk/xxx/KxxxX/libs

    svn import -m "import" controller https://xxx.googlecode.com/svn/trunk/re...../controller/



    20.svn ls 列出当前目录下的文件

         svn list httpPath


    21.

    命令行下,提示 "svn: Commit failed (details follow):  svn: '/***/xxx.c' is scheduled for addition, but is missing"
    用RabbitSVN,图形界面下提示 "/xxx/xxx.c is not a working copy"

    原因:之前用SVN提交过的文件,被标记为"add"状态,等待被加入到仓库。若此时你把这个文件删除了,SVN提交的时候还是会尝试提交这个文件,虽然它的状态已经是 "missing"了。

    解决:在命令行下用 "svn revert xxx.c",在图形界面下,右键--Revert,选中那个文件。这样就告诉SVN把这个文件退回到之前的状态 "unversioned",也就是不对这个文件做任何修改


    22.查看某个文件内容

    svn cat http://wangwk@192.168.20.249:8080/svn/tianya_wireless/tianya_iphone_client/TianyaQing/Classes/controller/qing/WeiboDetailViewController.m --revision 8927



    23.嵌出某版本

    svn checkout http://wangwk@192.168.20.249:8080/svn/tianya_wireless/tianya_iphone_client/tianyaClient --revision 9754




    24.svn: Commit failed (details follow):
    svn: Aborting commit: '/Users/gzty1/x_workspace/TianyaQingV2/TianyaQingV2/skin' remains in conflict

    解决:svn resolved /Users/gzty1/x_workspace/TianyaQingV2/TianyaQingV2/skin


    25:svn: Checksum mismatch for 'skin/day/Config.strings'; expected: '9c27473a8d51d9c539016f48b62ec9a5', actual: '7d9b541562af1efe325d58e4f80125c6'

    可能要修改.svn中的entries,或者重新checkout


    26.将静态库文件上传到svn

         不用Xcode自带svn,用命令行

         svn add libaaa.a
         svn commit -m "add static lib libaaa.a"


    27.对比文件修改内容

    svn diff -r 12679:12680 MicroForumMainViewController.m


    28.创建目录 svn mkdir

    若要在工作副本中创建新目录,键入:

    svn mkdir PATH

    若要在项目存储库中创建新目录,键入:

    svn mkdir URL

    PATH 或 URL 的最后一部分决定目录名称。在立即提交时在存储库中创建目录,所以还需要一条提交信息

    --message (-m) TEXT, --file (-F) FILE, --quiet (-q), --username USER, --password PASS, --no-auth-cache, --non-interactive, --editor-cmd EDITOR, --encoding ENC, --force-log, --config-dir DIR


    29.直接操作版本库

    svn mkdir https://.../svn/trunk/A 创建A目录
    svn copy https://.../svn/trunk/A https://.../svn/trunk/B -m "" 会在B下创建A目录
    svn delete https://.../svn/trunk/A -m "" 删除A目录


    30.



    展开全文
  • Ubuntu SVN服务器搭建

    万次阅读 2019-03-04 19:18:23
    Ubuntu SVN服务器搭建 本服务器在Ubuntu14.04LTS上搭建,理论上在任何Ubuntu版本上都适合。 1、安装SVN 首先切换到超级用户下:sudo su 然后输入命令安装svn:apt-get install subversion 2、建立版本仓库 ...

    本服务器在Ubuntu14.04LTS上搭建,理论上在任何Ubuntu版本上都适合。

    1、安装SVN

    首先切换到超级用户下:sudo su

    然后输入命令安装svn:apt-get install subversion
    img1

    2、建立版本仓库

    创建文件夹:mkdir -p /home/svn

    img2

    创建版本仓库: svnadmin create /home/svn/
    img3

    修改版本库:vim /home/svn/conf/svnserve.conf

    [general]按照下图修改

    img4

    添加用户: vim /home/svn/conf/authz

    img5

    在最后添加下图红框圈起的部分

    img6

    为新用户添加密码: vim /home/svn/conf/passwd

    [user]部分按下图添加

    img7

    3、开机启动svn

    /home/svn/下建立svn启动脚本: startsvn.sh

    脚本内容:

    #!/bin/bash
    /usr/bin/svnserve -d -r /home/svn
    

    如下图所示:

    img8

    开机启动拉起脚本,需要在/etc/rc.local做一下修改:

    添加的内容:

     /home/svn/startsvn.sh
    

    如下图所示:

    img9

    其它配置(允许用户修改log):

    cp /home/svn/hooks/pre-revprop-change.tmpl /home/svn/hooks/pre-revprop-change
    

    4、测试验证

    重启服务器,执行命令: ps -aux | grep svn

    如下图,说明svn成功启动:

    img10

    Windows下登录验证即可:

    img11

    至此,svn服务器搭建完成。

    展开全文
  • svn插件myeclipse+svn插件

    千次下载 热门讨论 2012-04-26 15:46:55
    svn 插件 myeclipse 插件文件+安装方法在压缩包内
  • centos 搭建 SVN

    万次阅读 2020-06-30 16:36:20
    一,介绍SVN SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是...

    一,介绍SVN

    SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。 ----百度百科

    二,安装SV

    官网下载: http://subversion.apache.org/packages.html

    SVN客户端TortoiseSVN :https://tortoisesvn.net/downloads.html

    1,yum install subversion安装

    yum install subversion
    

    2,新建一个目录用于存储SVN目录

    mkdir /svn
    

    3,新建一个测试仓库

    svnadmin create /svn/test/
    ll /svn/test/
    total 24
    drwxr-xr-x. 2 root root 4096 Jul 28 18:12 conf
    drwxr-sr-x. 6 root root 4096 Jul 28 18:12 db
    -r--r--r--. 1 root root    2 Jul 28 18:12 format
    drwxr-xr-x. 2 root root 4096 Jul 28 18:12 hooks
    drwxr-xr-x. 2 root root 4096 Jul 28 18:12 locks
    -rw-r--r--. 1 root root  229 Jul 28 18:12 README.txt
    

    以下关于目录的说明:

    hooks目录:放置hook脚步文件的目录

    locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端

    format目录:是一个文本文件,里边只放了一个整数,表示当前文件库配置的版本号

    conf目录:是这个仓库配置文件(仓库用户访问账户,权限)

    4,配置SVN服务的配置文件svnserver.conf:

    [root@localhost conf]# vim svnserve.conf 
    ### This file controls the configuration of the svnserve daemon, if you
    ### use it to allow access to this repository.  (If you only allow
    ### access through http: and/or file: URLs, then this file is
    ### irrelevant.)
    ### Visit http://subversion.tigris.org/ for more information.
    [general]
    ### These options control access to the repository for unauthenticated
    ### and authenticated users.  Valid values are "write", "read",
    ### and "none".  The sample settings below are the defaults.
    anon-access = read         ##注意前边不要有空格,要顶齐
    auth-access = write         ##注意前边不要有空格,要顶齐
    ### The password-db option controls the location of the password
    ### database file.  Unless you specify a path starting with a /,
    ### the file's location is relative to the directory containing
    ### this configuration file.
    ### If SASL is enabled (see below), this file will NOT be used.
    ### Uncomment the line below to use the default password file.
    password-db = passwd        ##注意前边不要有空格,要顶齐
    ### The authz-db option controls the location of the authorization
    ### rules for path-based access control.  Unless you specify a path
    ### starting with a /, the file's location is relative to the the
    ### directory containing this file.  If you don't specify an
    ### authz-db, no path-based access control is done.
    ### Uncomment the line below to use the default authorization file.
    authz-db = authz           
    ### This option specifies the authentication realm of the repository.
    ### If two repositories have the same authentication realm, they should
    ### have the same password database, and vice versa.  The default realm
    ### is repository's uuid.
    realm = This is My First Test Repository   ##这个是提示信息
    [sasl]
    ### This option specifies whether you want to use the Cyrus SASL
    ### library for authentication. Default is false.
    ### This section will be ignored if svnserve is not built with Cyrus
    ### SASL support; to check, run 'svnserve --version' and look for a line
    ### reading 'Cyrus SASL authentication is available.'
    # use-sasl = true
    ### These options specify the desired strength of the security layer
    ### that you want SASL to provide. 0 means no encryption, 1 means
    ### integrity-checking only, values larger than 1 are correlated
    ### to the effective key length for encryption (e.g. 128 means 128-bit
    ### encryption). The values below are the defaults.
    # min-encryption = 0
    # max-encryption = 256
    

    5,配置访问用户及密码

    [root@localhost conf]# vim passwd 
    ### This file is an example password file for svnserve.
    ### Its format is similar to that of svnserve.conf. As shown in the
    ### example below it contains one section labelled [users].
    ### The name and password for each user follow, one account per line.
    [users]
    # harry = harryssecret
    # sally = sallyssecret
    lqb = lqb123456
    test1 = 123456
    test2 = 654321
    

    6,配置新用户的授权文件

    [root@localhost conf]# vim authz     
    ### This file is an example authorization file for svnserve.
    ### Its format is identical to that of mod_authz_svn authorization
    ### files.
    ### As shown below each section defines authorizations for the path and
    ### (optional) repository specified by the section name.
    ### The authorizations follow. An authorization line can refer to:
    ###  - a single user,
    ###  - a group of users defined in a special [groups] section,
    ###  - an alias defined in a special [aliases] section,
    ###  - all authenticated users, using the '$authenticated' token,
    ###  - only anonymous users, using the '$anonymous' token,
    ###  - anyone, using the '*' wildcard.
    ###
    ### A match can be inverted by prefixing the rule with '~'. Rules can
    ### grant read ('r') access, read-write ('rw') access, or no access
    ### ('').
    [aliases]
    # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
    [groups]
    # harry_and_sally = harry,sally
    # harry_sally_and_joe = harry,sally,&joe
    # [/foo/bar]
    # harry = rw
    # &joe = r
    # * =
    # [repository:/baz/fuz]
    # @harry_and_sally = rw
    # * = r
    admin = lqb,test2
    user = test1
    [/svn/test/]
    @admin = rw 
    @user = r
    

    备注:

    admin = lqb,test2 创建admin组,组成员为:lqb,test2

    user = test1 创建用户组,用户成员:test1

    [test:/] 赋予根权限,为了便于管理和权限的控制,可以把权限细化到版本库中相应的目录

    @admin = rw admin组有读写的权限

    @user = r user组只有读的权限

    *= 表示除了上面设置的权限用户组以外,其他所有用户都设置空权限,空权限表示禁止访问本目录,这很重要一定要加上。

    备注:版本库的目录格式如下:

    [<版本库>:/项目/目录]

    @<用户组名> = 权限

    <用户名> = 权限

    其中[]內容有許多写法:

    [/],表示根目录及其一下的路径,根目录是svnserver启动时指定好的,上述实例中我们指定为:/svn/svndata([/]=/svn/svndata).[/]就是表示对全部版本设置的权限

    [test:/],表示对版本库test设置权限;

    [test:/svnadmin],表示对版本库test中的svnadmin项目设置权限;

    [test:/svnadmin/second],表示对版本库test中的svnadmin项目的目录设置权限;

    权限的主体可以是用户组,用户或者*,用户组在前面要以@开头,*表示全部用户

    权限分为:r ,w, rw和null ,null空表示没有任何权限。

    auhtz配置文件中的每个参数,开头不能有空格,对于组要以@开头,用户不需要。

    7,启动svn服务

     [root@localhost conf]#svnserve -d -r /svn/
    

    注意:更改svnserver.conf时需要重启SVN服务,更改authz,passwd文件时则不需要重启服务

    二,通过客户端进行连接:

    <一>,Windos客户端连接操作

    1,使用windows的客户端来进行连接
    在这里插入图片描述
    2,在Linux使用如下命令行:

    [root@localhost conf]# svn co svn://192.168.200.200/test
    A    test/工作文档.txt.bak
    A    test/soft
    Checked out revision 2.
    

    如果失败的话,基本上可以断定authz文件的配置有问题,可以修改下:

    admin = lqb,test2
    user = test1
    [/]
    @admin = rw 
    @user = r 
    * =      ###表示除了上面设置的权限用户组以外,其他所有用户都设置空权限,空权限表示禁止访问本目录
    

    3,check out后会在桌面创建一个文件夹,说明操作成功,接下来向该文件夹放文件,然后右键SVN commit,会看到文件在同步
    4,同步完成之后,我们可以在本地查看是否同步到服务器中,右击桌面—>TortoiseSVN→Repo Browser即可查看,也可以先SVN Update更新一下,确保内容是最新的。

    5,如果要删除文件,直接本地删除然后commit即可。

    如果查看历史版本TortoiseSVN,右击文件夹–>TortoiseSVN–>Show log.而且可以查看文档发生了什么变化。

    如果版本库地址发生了变化更换的步骤如下:右击文件夹–>TortoiseSVN–>Relocate修改地址确认commit即可

    <二>,Linux客户端同步过程:

    把linux做为SVN客户端,所以你操作的并不一定是SVN的服务器那台,以后如果说我要定时自动发布代码等等,这时候就要用到脚本了,所以接下来的也是很重要的首先安装SVN,步骤同上,在此就不在赘述。

    1,同步文件,check out: svn co svn://192.168.1.202/sadoc /data/svndata/ --username=我的用户名 --password=我的密码

    [root@localhost conf]# svn co svn://192.168.200.200/test /svn --username=lqb --password=lqb123456
    A    /svn/svn.txt.bak
    A    /svn/工作文档.txt.bak.bak
    A    /svn/svn-test.txt
    A    /svn/svn.txt
    A    /svn/工作文档.txt.bak
    A    /svn/ROOT.war
    A    /svn/soft
    A    /svn/soft/ROOT.war
    Checked out revision 16.
    

    注意! 你的密码,对于认证域: svn://23.110.85.249:3690 68cfb7eb-c123-4643-8825-8a067020e3f4只能明文保存在磁盘上!

    如果可能的话,请考虑配置你的系统,让 Subversion可以保存加密后的密码。请参阅文档以获得详细信息。

    你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,来避免再次出现此警告。

    2,版本库内容更新

    [root@localhost conf]# svn update svn://192.168.200.200/test /svn --username=lqb --password=lqb123456
    Skipped 'svn://192.168.200.200/test'
    At revision 16.
    Summary of conflicts:
      Skipped paths: 1
    [root@localhost conf]#
    

    3,查看svn中的数据

    [root@localhost conf]# svn ls svn://192.168.200.200/test/ --username=lqb --password=lqb123456
    ROOT.war
    soft/
    svn-test.txt
    svn.txt
    svn.txt.bak
    工作文档.txt.bak
    工作文档.txt.bak.bak
    [root@localhost conf]#
    

    4,本地数据commit数据到SVN中

    [root@localhost svn]# vim 123.log
    "123.log" [New] 3L, 32C written                                           
    [root@localhost svn]# svn add 123.log 
    A         123.log
    [root@localhost svn]# svn ci -m "commit data"
    Adding         123.log
    Sending        svn.txt
    Transmitting file data ..
    Committed revision 17.
    

    -m [–message] ARG: 指定日志信息ARG 不添加-m参数会报错。
    <三>,SVN目录树

    一般比较规范的SVN它会有三个目录,分别为:

    /svn/trunk: 主干

    /svn/branch: 个人或团队开发的分支

    /svn/tag: 标记版本,比如某个版本开发好了。

    现在我要创建三个这样的目录,然后我要导入到版本库中去,这里会用到的是import命令
    import:将未纳入版本控制的文件或目录树提交到版本库。要分清楚它和commit的区别,commit指的是把工作副本的修改提交到版本库。

    [root@localhost svndata]# mkdir -p svn/{trunk,branch,tag}
    [root@localhost svndata]# svn import /svn/svn svn://192.168.200.200/test --username=lqb --password=lqb123456 -m "import" 
    Adding         /svn/svn/trunk
    Adding         /svn/svn/tag
    Adding         /svn/svn/branch
    Committed revision 18.
    [root@localhost svndata]#
    

    把主干的东西拷到一个分支

    [root@localhost svndata]# svn copy svn://192.168.200.200/test/trunk svn://192.168.200.200/test/branch/branch -m "create a branch" --username=lqb --password=lqb123456
    Committed revision 19.
    

    参考:https://www.cnblogs.com/weifeng1463/p/7593729.html

    展开全文
  • SVN中文版设置

    万次阅读 2019-03-27 21:38:50
    在开发过程中会不可避免的使用到代码管理工具,当下使用的比较普遍的无非就是SVN和Git了! 代码管理工具的使用,可以大大增加联合开发的容错率,同时也会让我们的工作更加高效! 这里记录一下如何将英文版的SVN...
  • 3分钟学会SVNSVN快速上手

    万次阅读 多人点赞 2018-05-26 11:37:36
    选择SVN客户端 Windows平台 TortoiseSVN:也叫乌龟SVN,Windows上最流行的SVN客户端,安装后你的右键就会多了几个SVN相关的菜单,非常方便Eclipse插件:在Eclipse中集成SVN插件,适合使用Eclipse开发的用户,查看...
  • git/svn使用汇总

    万次阅读 2021-03-24 17:23:48
    linux下git的推送 git add . git commit -am "此次修改信息描述" git push linux下svn的检出 svn checkout https://1.1.1.1/svn/src #简写也行 svn checkout https://1.1.1.1/svn/src
  • Eclipse SVN插件(svn-site-1.6.17)

    千次下载 热门讨论 2011-03-30 23:38:26
    Eclipse SVN插件(svn-site-1.6.17)
  • AnkhSvn-2.4.11610

    千次下载 热门讨论 2012-08-31 11:31:49
    AnkhSVN 2.4 released!(Thursday, August 23, 2012) AnkhSVN is a Subversion Source Control Provider for Microsoft Visual Studio 2005, 2008, 2010 and 2012. AnkhSVN provides Apache™ Subversion® source ...
  • SVN服务器搭建

    万次阅读 2020-08-20 18:50:49
    Windows系统SVN服务器搭建与使用 ...
  • Svn 命令行工具 操作 SVN 服务器

    千次阅读 2018-09-24 10:49:35
    如下图所示, SVN 服务器已经安装启动成功,而且 SVN 仓库也配置成功,现在就可以通过 SVN 客户端进行操作 SVN 了。 操作 SVN 服务器主要有以下几种方式 1)Subversion 服务器安装后自带命令行客户端,如下...
  • SVN服务端、客户端32位/64位。服务端为visual svn,可视化环境,支持windows系统。客户端分32位和64位,根据需要安装。
  • svn服务器端下载svn服务器端下载svn服务器端下载

    千次下载 热门讨论 2009-10-14 14:29:40
    svn服务器端下载svn服务器端下载svn服务器端下载
  • 卸载SVN

    千次阅读 2021-01-30 17:52:14
    SVN卸载
  • IDEA中使用SVN IDEA配置SVN步骤

    万次阅读 2021-01-12 13:02:56
    Idea集成使⽤SVN 文章目录Idea集成使⽤SVN1. 配置SVN环境2. 检出Checkout项⽬3. 提交Commit代码4. 更新Update代码5. 导出import项⽬至服务器6. 版本冲突问题7. 恢复历史版本 1. 配置SVN环境 1.File —> Other ...
  • SVN使用教程图文教程

    万次阅读 多人点赞 2019-07-22 11:29:51
    2安装SVN 2.1安装完成后,比如我想把代码放在我的电脑其中一个位置比如 :我的项目在F盘的目录下中,我右键就可以看到如下: 说明snv已经安装成功了! 2.2使用checkout下载项目。 先说下几个基本的命令: ...
  • SVN中文手册 SVN中文手册

    热门讨论 2010-05-24 15:12:48
    SVN svn SVN中文手册 SVN资料 svn配置SVN svn SVN中文手册 SVN资料 svn配置SVN svn SVN中文手册 SVN资料 svn配置SVN svn SVN中文手册 SVN资料 svn配置SVN svn SVN中文手册 SVN资料 svn配置SVN svn SVN中文手册 SVN...
  • 如何解决svn Authorization failed错误

    万次阅读 2017-04-27 11:17:58
    如何解决svn Authorization failed错误出现这种问题肯定是SVN服务器出现了问题,需要修改其三个配置文件: 1、svnserve.conf: [general] anon-access = read auth-access = write password-db = passwd authz-...
  • SVN实战教程

    2019-07-09 17:36:00
    本课程讲解了SVN原理及服务配置、SVN访问权限及常用操作,以及如何使用SVN查看历史版本和外网发布问题。 本课程是从实用的角度出发,通过完整的操作演示了从零开始搭建并使用SVN,并进行团队协作。 通过本课程的学习...
  • svn——svn commit 用法

    万次阅读 2019-12-25 16:44:25
    使用svn进行代码的提交有两种方法:一种是通过TortoiseSVN客户端界面进行提交,另一种是通过svn commit指令提交。 方法一:通过TortoiseSVN客户端界面提交代码 在需要提交代码的目录下右键,点击SVN Commit... ...
  • 在日常开发中,有时候需要同事复制给自己项目代码,但是复制过来的代码常常都是带有svn信息的,这些svn信息对于自己又没有什么用处,于是需要清理掉。这里我整理了一下清理文件夹svn信息的方法。 1、首先创建一个...
  • svn 安装目录 没有 svn.exe

    万次阅读 多人点赞 2018-11-21 18:09:42
    在我们为 IDEA 等编辑器配置 svn 时,经常需要配置 svn.exe 文件的目录 C:\Program Files\TortoiseSVN\bin\svn.exe ;但打开 svn.exe 文件的安装目录 C:\Program Files\TortoiseSVN\bin,却发现没有 svn.exe 文件,...
  • Windows搭建SVN实现访问远程SVN

    千次阅读 2021-01-04 11:01:21
    在公司中使用到SVN,由于电脑经历太多个用户变得繁杂不堪,重新刷机后配置相关操作 本次目的实现访问其他电脑中SVN资源,进行SVN中代码的拉取版本控制等操作,话不多说开始整。 首先在浏览器中搜索SVN找到 SVN...
  • IDEA 配置SVN ,SVN安装后没有svn.exe

    千次阅读 2019-05-19 16:34:01
    在idea中配置svn,首先要在电脑上安装svn (进入官网下载安装即可); svn官网下载 地址:https://tortoisesvn.net/downloads.html 第二,打开idea,选择file->settings->Version Control -> Subversion ,...
  • 文章目录一、安装httpd及svn模块二、svn http配置三、创建svn http用户四、修改svn仓库配置文件五、启动http服务六、配置https请求svn七、svn测试总结 一、安装httpd及svn模块 yum -y install deltarpm yum -y ...
  • 查看svn当前登录的账号(svn.simple)

    千次阅读 2020-06-09 16:33:50
    前言 一般项目开发都会使用到svn作为版本管理工具,团队中的每个...进入这个目录C:\Users\Administrator\AppData\Roaming\Subversion\auth\svn.simple (你的电脑系统账号可能不是Administrator账号,此时Administrato
  • eclipse svn 切换项目svn地址

    万次阅读 2015-09-06 17:23:06
    如果手动在本地目录下删除.svn文件,不能全部删除,网上有一些需要在dos窗口输入一些指令,太麻烦了,本人总结方法: 项目svn从一个地址换到了另一个地址, 现在需要把项目关联到另一个svn地址上去。 1、右键点击...
  • svn 查看打开项目所在的svn地址

    万次阅读 2018-08-09 12:00:25
    进入本地项目 –》右击 –》TortoiseSVN –》Repo-browser,此方式前提是已经能够访问当前svn服务器。
  • 因为公司换了一台svn服务器 所以svn地址发生了变化 得到新的地址之后就在svn资源库里重新定位了一下 查看了一下可以看到和导出svn里的资源就觉得可以了 下午提交代码出现 svn: E200007,svn: E175002 错误 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 297,462
精华内容 118,984
关键字:

svn