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插件的下载使用、上传代码到服务器、从服务器下载代码、从服务器更新代码、...

    推荐阅读

    如何写一份让 HR 眼前一亮的简历(附模板)

    字节、美团、快手核心部门面试总结(真题解析)

    面试阿里,HashMap 这一篇就够了

    面试必问的 MySQL,你懂了吗?

    面试必问的线程池,你懂了吗?

    4 年 Java 经验,阿里网易拼多多面试总结、心得体会

    跳槽,如何选择一家公司

    如何准备好一场大厂面试

    MySQL 8.0 MVCC 核心原理解析(核心源码)

    921天,咸鱼到阿里的修仙之路

    复习2个月拿下美团offer,我都做了些啥

     

     

    概述

    在我们的日常工作中,经常会用到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.



    展开全文
  • 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插件myeclipse+svn插件

    千次下载 热门讨论 2012-04-26 15:46:55
    svn 插件 myeclipse 插件文件+安装方法在压缩包内
  • Linux如何快速搭建svn服务器

    万次阅读 2017-10-22 10:26:35
    linux安装svn服务器(yum方式) 1.查看yum是否安装 在终端中输入yum即可如果已经安装,会显示yum的参数 如果没有安装,会提示yum未安装或无效命令…… 2.安装svn yum -y install subversion 出现下面截图后...

    linux安装svn服务器(yum方式)

    1.查看yum是否安装

             在终端中输入yum即可如果已经安装,会显示yum的参数

             如果没有安装,会提示yum未安装或无效命令……

    2.安装svn

    yum -y install subversion

    出现下面截图后,表示安装完成。

    3.创建目录并配置

    建立版本库目录

    mkdir -p /data/svn/MyProject(项目名)

    配置:

    svnadmin create  /data/svn/MyProject

    执行上面的命令后,自动建立MyProject测试库,查看/data/svn/MyProject 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。

    4.用户密码passwd配置

    [root@localhost password]# cd /data/svn/MyProject/conf
    
    [root@admin conf]# vim passwd
    
    修改passwd为以下内容:
    
    [users]
    
    # harry = harryssecret
    
    # sally = sallyssecret
    
    hello=123
    
    【用户名=密码】
    
    这样我们就建立了hello用户, 123密码
    
    以上语句都必须顶格写, 左侧不能留空格, 否则会出错.

    5.权限控制authz配置

    [root@admin conf]# vi  authz
    
    目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:
    
    #设置[/]代表根目录下所有的资源   或者写成[repl:/]
    
    [/]
    
    hello = rw
    
    此处hello对应上一步设置password的用户名
    
    意思是hello用户对MyProject测试库下所有的目录有读写权限,当然也可以限定。
    
    如果是自己用,就直接是读写吧。
    
    以上语句都必须顶格写, 左侧不能留空格, 否则会出错.

    6.服务svnserve.conf配置(是对上面配置的passwd及authz的访问调用)

    [root@admin conf]# vim svnserve.conf
    
    追加以下内容:
    
    [general]
    
    #匿名访问的权限,可以是read,write,none,默认为read
    
    anon-access=none
    
    #使授权用户有写权限 
    
    auth-access=write
    
    #密码数据库的路径 
    
    password-db=passwd
    
    #访问控制文件
    
    authz-db=authz
    
    #认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字 
    
    realm=/data/svn/repositories【自己创建的项目版本控制库】
    
    以上语句都必须顶格写, 左侧不能留空格, 否则会出错.

    7.启动svn服务

    查看svn的服务是否启动

    ps -ef|grep svn

    如果没有启动执行 下面命令即可:

    svnserve -d -r /data/svn/MyProject--listen-port=3690

    8.开启端口

    开启端口方式:vim /etc/sysconfig/iptables 增加3690端口号
    
    service iptables restart 即可生效
    
    又或者直接stop防火墙:service iptables stop
    
     /sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
    
     /etc/rc.d/init.d/iptables save
    
     /etc/init.d/iptables restart
    
     /etc/init.d/iptables status

    9.windows通过svn客户端访问

    Linux安装subversion已经安装好了svn客户端:svn help 显示svn操作命令参数:

    [root@localhost conf]# svn ls svn://192.168.1.102/
    
    BIOS^DOS/
    
    测试计划/
    
    [root@localhost conf]# svn ls svn://192.168.1.102/
    
    BIOS^DOS/
    
    测试计划/
    
    [root@localhost conf]#
    
    svn://ip地址
    
    端口默认为3690,输入配置好的用户名和密码即可。
    
    如果访问不了,请带上端口号!!!
    
    注意:此处千万不能 svn://ip地址/repo,否则无法访问。

     

    Tips:Linux服务器svn的常用命令:

    add 添加文件

    mkdir 新建目录

    ci 提交svn

    需要在当前上传的目录下新建文件或文件夹:echo 3>test.c 或者 mkdir test

    再使用svn add 【test.c 或 test】

    使用svn ci test.c确认提交时,需要带参数-m“日志消息”或者-F

    svn del 删除文件,svn ci提交确认删除
    
    svn lock test.c 编辑svn文件时锁定,防止被篡改;
    
    svn unlock test.c 编辑完,再解锁 再提交
    
    svn ci test.c
    
    svn update 更新目录
    
    co 检出checkout
    
    svn co file:///data/svn/MyProject/ 在你需要检查svn文件的目录下执行,就会把当前MyProject仓库下的所有文件都检出来
    
    status 查看svn状态

    ls 输出svntree所有文件

    用法同上

     

     

    展开全文
  • 3分钟学会SVNSVN快速上手

    万次阅读 多人点赞 2018-05-26 11:37:36
    选择SVN客户端 Windows平台 TortoiseSVN:也叫乌龟SVN,Windows上最流行的SVN客户端,安装后你的右键就会多了几个SVN相关的菜单,非常方便Eclipse插件:在Eclipse中集成SVN插件,适合使用Eclipse开发的用户,查看...
  • 2.IDEA中添加svn.exe 3.这样就可以正常连接SVN resp 报错,checkOut时提示No appropriate protocol 原因:如果连接地址是svn协议,则不会出现问题,我的连接地址是https://**** 由于是https协议,所以在配置...
  • Linux安装配置SVN服务器

    万次阅读 2018-02-03 11:04:43
    1. 安装SVN服务器: 检查是否已安装 # rpm -qa subversion 安装SVN服务器 # yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql 验证安装 # cd /etc/httpd/modules # ls | grep svn mod...
  • SVN服务端、客户端32位/64位。服务端为visual svn,可视化环境,支持windows系统。客户端分32位和64位,根据需要安装。
  • Visual Studio安装SVN插件

    万次阅读 热门讨论 2015-11-09 10:30:33
    在VS上安装SVN插件后,感觉VS的代码版本控制用起来也这么顺手。
  • svn——svn commit 用法

    千次阅读 2019-12-25 16:44:25
    使用svn进行代码的提交有两种方法:一种是通过TortoiseSVN客户端界面进行提交,另一种是通过svn commit指令提交。 方法一:通过TortoiseSVN客户端界面提交代码 在需要提交代码的目录下右键,点击SVN Commit... ...
  • svn 查看打开项目所在的svn地址

    万次阅读 2018-08-09 12:00:25
    进入本地项目 –》右击 –》TortoiseSVN –》Repo-browser,此方式前提是已经能够访问当前svn服务器。
  • svn 查看项目的 svn 服务器地址

    万次阅读 2017-04-12 15:10:41
    找到文件 右键 - 属性 - Subversion 有当前文件的svn 服务器地址     项目最外层 - 右键 - svn - relocate - (http://172...../svn/rxzq_dev )
  • 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 文件,...
  • 今天在更新svn 的时候爆出这些错误信息: svn: connection refused by the server svn: OPTIONS request failed on '/svn/irrigation/trunk/code/web' svn: connection refused by the server svn: OPTIONS ...
  • 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 ,...
  • Mac上完美解决SVN问题及svn软件

    万次阅读 热门讨论 2018-06-09 10:18:17
    svn对Mac的支持不算美好,几乎所有软件都很繁琐,我们作为开发其实是不需要那么多功能的,我所在公司svn知识存放开发文档等等的地方,代码一般放在git上。告诉大家mac上使用svn应该用什么软件1、首先去appstore搜索...
  • 因为公司换了一台svn服务器 所以svn地址发生了变化 得到新的地址之后就在svn资源库里重新定位了一下 查看了一下可以看到和导出svn里的资源就觉得可以了 下午提交代码出现 svn: E200007,svn: E175002 错误 ...
  • svn TortoiseSVN 回滚版本

    万次阅读 2016-06-14 19:24:10
    SVN是一个版本管理工具,在工作中经常使用,尤其是多人合作开发的时候,版本管理显得更加重要。需要使用回退的场景往往都比较“紧急”,今天就记录一下在使用SVN的时候怎么回退到指定的版本,方便以后随时查看。 ...
  • eclipse svn 切换项目svn地址

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

    万次阅读 2019-07-27 19:59:48
    1.1检出 ①首先进入自己的工作目录,例如:D:\DevWorkSpace\SVNSpace ... svn checkout svn://SVN服务器主机地址/具体仓库目录 保存检出内容的目录 举例 svn checkout svn://localhos...
  • SVN客户端——SmartSVN功能详解

    千次阅读 2019-05-14 16:54:34
    SmartSVN 11 for Mac是SVN客户端,SmartSVN可让您及时了解团队成员和项目的SVN活动。SmartSVN相对其他客户端更注意细节的变化,是一款非常使用的SVN客户端软件,支持标签和分支处理,操作非常简单和方便,大多数操作...
  • svn upgrade

    千次阅读 2018-10-08 14:28:00
    在我们把我们服务器上的svn 版本号升级以后,我们之前的代码再执行svn命令时,会提示需要执行svn upgrade命令把当前的代码由低版本的svn 上迁移到高版本的svn 上去。 直接执行svn upgrade命令就会把所有的代码按照...
  • SVN——SVN项目迁移到GIT

    万次阅读 2016-10-16 16:54:51
    svn有很多优点,但是git的出现对svn的冲击的确很大,现在很多公司项目的都迁移的git上了,下面是我自己在做svn迁移项目到git上面时候整理的一些资料。暂时就些整理这些,具体的操作如果有看不懂的,可以和我联系!...
  • SVNSVN服务器搭建和使用

    千次阅读 2016-10-16 16:41:12
    本系列会总结一些svn和git的安装和使用,以及最后svn的项目如何迁移到git上,整个系列会持续输出。 要学习svn,那么首先开始搭建svn服务器和客户端。 下面要讲的有: svn下载和安装 svn配置文件 svn服务器的使用1...
  • svn: E200009

    万次阅读 2018-05-11 18:54:26
    root@mapan-virtual-machine:~/wz_server/game# svn commit -m 'zfb' xczfbmjroom.lua svn: E200009: 提交失败(细节如下): svn: E200009: “/root/wz_server/game/xczfbmjroom.lua” 尚未纳入版本控制 root@mapan-...

空空如也

1 2 3 4 5 ... 20
收藏数 138,772
精华内容 55,508
关键字:

svn