我有一个将数据保存在目录树中的应用程序。
现在,我希望使用svn。
将此目录保留在版本控制之下 然而,问题是这个应用程序不时会删除并重新创建这个树中的某些目录,导致相应的.svn子目录丢失,然后TortoiseSVN大声抱怨目录被阻塞。是否有任何特殊选项,脚本(cygwin批处理,windows cmd,python ...)或程序可以修复这些工作副本?目前,我正在使用目录同步工具从第二个工作副本中重新添加丢失的.svn文件,但这非常麻烦。
谢谢!
答案 0 :(得分:15)
我重命名了冲突的文件夹并运行了SVN更新以从SVN恢复文件夹。
使用我最喜欢的差异工具(在Total Commander中同步目录)进行区分后,我发现唯一的区别是冲突文件夹中有一个.svn文件夹。
答案 1 :(得分:4)
很抱歉,但你无法修复失去的东西。
这些文件夹已经消失,它们不能凭空捏造。重新启动它们的唯一方法是运行更新,但这需要首先删除整个文件夹,因为更新不会覆盖现有文件。
答案 2 :(得分:0)
SVN提交时阻塞目录的一个原因可能是当像Visual Studio这样的IDE删除并重新创建输出目录,从而删除.svn文件夹时。因此,在其他地方构建此VS项目,然后覆盖到原始签出位置以保留.svn文件夹。然后进行SVN添加和SVN提交。
答案 3 :(得分:0)
我单击了“ TortoiseSVN>清理...”(除“递归还原所有更改”之外,所有选项均被打勾)。 之后,我做了一个“ SVN更新”,问题就消失了。
答案 4 :(得分:-1)
我的问题是VS中的Visual SVN,它已经失去了它的绑定,虽然我最后提交时evreything很好。删除磁盘上项目根文件夹中的.svn文件夹,并进行更新。一切都恢复正常,就像安迪在上面的回答一样。