如何搞定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里面有我操作的记录,于是将该表也清空,发现问题就解决了。
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里面有我操作的记录,于是将该表也清空,发现问题就解决了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
威孚半导体技术
2024-08-19 广告
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...
点击进入详情页
本回答由威孚半导体技术提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询