zl程序教程

您现在的位置是:首页 >  工具

当前栏目

SVN工具使用技巧

工具 技巧 svn 使用
2023-09-27 14:21:53 时间

SVN打tag

 

 

 

SVN打tag是一个很常用的功能,要谈打tag,还得从SVN官方推荐的目录结构说起。SVN官方推荐在一个版本库的根目录下先建立trunk、branches、tags这三个文件夹,其中trunk是开发主干,存放日常开发的内容;branches存放各分支的内容,比如为不同客户制定的不同版本;tags存放某个版本状态的标签,比如验收测试版、1.0.3版等。branches和tags本质没有区别,都是通过svn copy方式建立的,差异在于通常branches中的内容是需要继续修改或开发的,tags中的内容是存放不再修改的,这一般通过权限设置来解决,tags通常只给管理员开发写权限。我们的项目开发到一个稳定版本都需要打个tag,进行总结与备份。
   下面简单介绍一下,Eclipse中SVN打tag的方法
 
一.单个文件打tag
    1.选中要打tag的文件(单个文件),右击选择“team”,然后选择“分支/标记”
 
               
 
  2.弹出窗口
         
             
 
二.批量文件打tag
   1.选中要打tag的多个文件,右击选择“team”,然后选择“分支/标记”
          
          
  2.要先建好 打到哪里的文件夹(如:release3.0),否则报错
          
               
          
 3.点击next (2次)即可完成打tag。
          
                
               

     至此SVN打tag的方法就简单的介绍完了!

 

 

SVN ---文件加锁,执行clean up命令

 

 

一、SVN 中 clean up 的功能

 

    当Subversion改变你的工作拷贝(或是.svn中的任何信息),它会尽可能的小心,在修改任何事情之前,它把意图写到日志文件中去,然后执行log文件中的命令,并且执行过程中在工作拷贝的相关部分保存一个锁,防止Subversion客户端在变更过程中访问工作拷贝。如果Subversion的操作中断了(举个例子:进程被杀死了,机器死掉了),日志文件会保存在硬盘上,通过重新执行日志文件,Subversion可以完成上一次开始的操作,你的工作拷贝可以回到一致的状态。

 

       这就是svn clean up所作的:它查找工作拷贝中的所有遗留的日志文件,删除进程中工作拷贝的锁。如果Subversion告诉你工作拷贝中的一部分已经“锁定”了,你就需要运行这个命令了。

 

二、本地文件锁定,使用“清除”命令

 

    SVN本地更新时,由于一些操作中断,如磁盘空间不够,用户取消等,可能会造成本地文件被锁定的情况。这时候无论你在执行SVN的更新、上传、添加等子命令都会提示“**locked”的错误,如图:

 

    

    

 

一般出现这种情况的解决方法:

 

 

1、可以使用SVN clean up来清除锁定

 

 

 

2、如果不是本目录锁定,系统提示上一层目录锁定,需要到上一层或者根目录中清除。

 

 

 

3.如果在根目录下都无法clean的话,一般采取的方法是另外找一个目录重新CHECKOUT。但有时有时SVN目录下可能有一些自己本地修改的文件,还未提交到SVN服务器,这时重新CHECKOUT需要注意本地文件的备份,并且不要强制覆盖服务器上其它人修改的内容。

 

 

 

4.其实SVN加锁会在.SVN(隐藏文件)中生成一个名字叫lock的文件(无后缀),查找所有的,手工删除。然后再尝试更新,系统可能会提示某个.base文件无法访问。找到它,把相关的文件或其所在的目录删除,重新UPDATE。

5.在相应的目录中,比如我在更新metasploit的“/opt/metasploit3/msf3/lib/active_support/core_ext”这个目录时就遇到了类似的情况,把.SVN子目录里(注意,“.”目录是个隐藏目录,需要选择“文件夹选项”→“查看”→“显示隐藏文件”菜单项)面log文件删除,就可以了。然后继续做svn cleanup命令。

 

第4种和第5种方式,未找到相关locked文件 和 log文件,不知道是不是SVN版本的问题。本地文件加锁,“清除命令clean up”很好使。


 

svn的简单介绍及其在windows系统下的安装及使用

 

  此文我写的有点乱,实际操作一下,发现其实它很简单。

 

                SVN是什么?

              SVN的全称是Subversion。Subversion是一个自由/开源的版本控制系统。也就是说,在Subversion管理下,文件和目标可以超越时空。也就是Subversion允许你数据恢复到早期版本,或是检查数据修改的历史。正因为如此,许多人将版本控制系统当做一种神奇的"时间机器"。

     Subversion的版本库可以通过网络访问,从而使用户可以在不同的电脑上进行操作。从某种程度上来说,允许用户在各自的空间里修改和管理同一组数据可以促进团队协作。因为修改不再是单线进行,开发速度会更快。此外,由于所有的工作都已版本化,也就不必担心由于错误的更改而影响软件质量—如果出现不正确的更改,只要撤销那一次更改操作即可。

    我理解的SVN

    ①SVN有一台服务器和多台客户机

    ②任何使用者可以上传资料到服务器,也可以从服务器下载资料。

    ③资料上传到服务器会自动给一个版本号,用户下载修改后再上传版本号自动加1.

    

         ④版本号出现冲突时,如图,此时需要合并版本号

     

===========================分割线==============================

 

    SVN在windows系统下的简单的使用

    SVN服务器及客户端的搭建

    ①安装服务器(Setup-Subversion ),及客户端(TortoiseSVN)。软件可到官方下载.安装比较简单,基本上一直按next就装完了.

                ②建立仓库,并对库设置权限。装好服务器,从dos中执行命令。

      仓库我要建到d盘,share文件夹中,因此使用命令:

      

     ③设置权限,这里设置为用密码登录。(有哪些人需要哪些密码登录;)项目组有几个人,就可以设几个用户,并设相应的密码。

     

     ④开启库,上传、下载文件时,dos窗口不要关闭。

     

     

==========================分割线==============================

 

     从客户端下载、上传文件的小例子(此例子很简单,大家可以自己实现下)

     这里服务器、客户机我安装到了同一台电脑上,采用的是密码登录方式,库已开启。<设置同"SVN服务器及客户端的搭建">

 i.先说从服务器下载文件到客户端,这个比较好实现。

    在F盘新建一个文件夹client1,打开client1文件夹,右击选择"SVN checkout",会弹出画面,选择好从哪个"服务器"下载,下载到什么地方后,单击"确定"按钮。

     

   单击ok后,再单击一次ok,会发现client1文件夹中有了从服务器上下载的文件。

ii.说说从客户端上传文件到服务器

   从client1文件夹中新建一个文件夹,里面新建一个文件。

   上传步骤:

   ①右击client1文件夹,选择"TortoiseSVN-->add",弹出添加要上传到服务器中的新文件,如图

          

    ②单击client1文件夹,选择"SVN Commit",然后执行操作

    

     上传操作完成。