如何操作使用svn?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何操作使用svn?相关的知识,希望对你有一定的参考价值。

参考技术A

操作使用svn需要在我们的本地硬盘中创建一个新建的空的文件夹,找到检出选项。然后按照步骤一步步进行编辑之后提交到SVN。

1、将版本库中的资源检出到本地工作空间中,首先在我们的本地硬盘中创建一个新建的空的文件夹,比如:E:\\Proj_trunk。右击文件夹,选择检出选项,如下图所示:

2、检出操作,如下图所示:

3、当出现如下图所示,这说明已经检出成功了,如下图所示:

4、更新工作副本使之成为版本库中的最新的文件,如下图所示:

5、当更新完毕之后,svn将显示更新的文件的数量和更新的次数,如下图所示:

6、对工作副本进行编辑之后提交到SVN,在右键菜单中点击SVN Commit,如下图所示:

7、最后提交前写好信息,点击确定就完成了。

注意事项:

1、统一在资源库中进行更新、添加、提交等一系列事务。因为在资源库中,对各项待改变或已改变的文件有很直观的比较。

2、提交的时候必须写日志,一个团队中可能有多个人对一个文件进行操作,如果每个人提交的时候不记录本次需要提交的内容,可能会造成以后该文件出错时。

3、提交之前必须更新,因为在提交之前并不知道别人是否对你提交的文件已经做了修改。所以第一部分的时候,才要求各位在资源库中进行操作。

4、反复查看确保正确的前提下,勤更新勤提交。

5、提交只提交自己修改的文件,提交之前检查是否是需要提交的文件。

如何搞定SVN目录的cleanup问题和lock问题

最近在使用SVN的时候碰到一个问题,就是操作时由于粗心大意,在更新的过程中点击取消,使得该目录出现cleanup的操作提示。

 

OK,按照cleanup提示操作后,又提示目录被lock...

 

网上有解决方案称,在SVN目录下找到 .svn 隐藏目录,一般是在项目的根目录下,在 .svn 目录下有一个 wc.db 数据库文件。

 

我们使用 sqlite3.exe 打开这个数据库,并对它进行操作。

 

我采用的方法是,下载sqlite3.exe 放到 .svn 目录下,启动命令行,敲入命令:

sqlite3.exe wc.db

 

这时,进到了sqlite的命令行环境,可以操作该数据库了,首先我们输入命令:

.tables

 

将该数据库中的表都显示出来,我们需要关注的是 wc_lock 和 work_queue,因为关于操作的cleanup和lock的信息是保存在这2个表里。

 

需要的话,可以使用 select * from wc_lock;来查看表中的信息是否为之前操作对应的文件或目录,如果这2张表存在数据那么svn就无法进行后续的操作。

 

解决方案:

很简单,你只要把这2张表清空即可,命令很简单:

delete from wc_lock;

delete from work_queue;

 

需要的同学可以试试,最早只清空了work_queue问题没解决,提示lock,于是我一次查看跟lock相关的表格,发现wc_lock里面有我操作的记录,于是将该表也清空,发现问题就解决了。

 

以上是关于如何操作使用svn?的主要内容,如果未能解决你的问题,请参考以下文章

关于不小心删除.svn文件之后如何再次关联SVN的骚操作

如何使用钩子设置和操作自定义 svn 修订属性

如何搞定SVN目录的cleanup问题和lock问题

myeclipse 使用svn控制 如何查看类的 哪一行 被修改过

如何进行svn relocate 操作

如何搞定SVN目录的cleanup问题和lock问题