Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svn 颠覆的大混乱-现在如何实施?_Svn_Version Control - Fatal编程技术网

Svn 颠覆的大混乱-现在如何实施?

Svn 颠覆的大混乱-现在如何实施?,svn,version-control,Svn,Version Control,我一直在玩一个在源代码控制下的项目有一段时间了。我已经添加了几个文件,删除了一些其他文件,并将另一个项目中的整个目录复制到这个项目中。我现在才意识到,其中一些复制的文件夹中有.svn目录,但遗憾的是,目前仅通过查看项目就无法确定哪些.svn目录属于当前项目,哪些不属于当前项目 我非常需要承诺,正如预期的那样,svn让我头疼。起初,我犯了那些唠叨的“丢失或未锁定”错误,但在经历了很多混乱之后,我想我真的把事情搞砸了 那么,我应该如何着手进行承诺?我应该删除所有.svn文件夹(我不确定哪些文件夹对应

我一直在玩一个在源代码控制下的项目有一段时间了。我已经添加了几个文件,删除了一些其他文件,并将另一个项目中的整个目录复制到这个项目中。我现在才意识到,其中一些复制的文件夹中有.svn目录,但遗憾的是,目前仅通过查看项目就无法确定哪些.svn目录属于当前项目,哪些不属于当前项目

我非常需要承诺,正如预期的那样,svn让我头疼。起初,我犯了那些唠叨的“丢失或未锁定”错误,但在经历了很多混乱之后,我想我真的把事情搞砸了

那么,我应该如何着手进行承诺?我应该删除所有.svn文件夹(我不确定哪些文件夹对应于当前项目,哪些不对应),还是删除将每个文件连接到svn服务器中较旧版本的所有信息


谢谢

删除所有
。svn
文件夹可能不是您需要的。在每个
.svn
文件夹中,都有一个名为
entries
的文件。在该文件中,是远程回购的URL(因为使用Git,所以不再记得正确的SVN措辞;对此表示抱歉)

假设您的定期回购为
http://server1.com/myregularrepo
而且您知道所有复制的文件夹(实际上不属于您的回购)都来自
http://otherserver.com/otherrepo
,搜索包含
http://otherserver.com/otherrepo
然后删除它们的父文件夹(即它们的
.svn
文件夹)


如果将多个外部回购目录复制到工作副本中,事情会变得更复杂,但我认为您已经掌握了该怎么做的诀窍。

我将尝试以下方法:

  • 备份(损坏的)工作副本
  • 签出一个干净的工作副本,在那里你想要提交你的东西
  • 在此(清理)工作副本中删除所有文件,但保留所有文件夹和.svn文件夹
  • 删除(损坏的)工作副本中的所有.svn文件夹,但保留所有文件和文件夹
  • 将损坏的工作副本(在删除.svn文件夹时不再是工作副本)复制到干净的工作副本中
  • 将所有新文件添加到工作副本中(使用svn状态检查)
  • 删除工作副本报告丢失的所有文件(对不起,必须手动删除空文件夹!)
  • 现在将所有更改提交到存储库

  • 这项工作应该在提交之前仔细检查svn状态,这是不可避免的,如果备份再次出现问题

    如果您的代码是您想要的方式,我相信您可以执行svn导出(这将删除所有.svn文件夹,然后将其作为修补程序导入原始项目。

    这不会解决您当前的问题,但升级到1.7以后会有所帮助-所有
    .svn
    文件夹都将合并到签出的根目录中。最后一种方法是删除所有svn.folders,签出干净的版本,复制更改(你删除了svn文件夹的地方)然后提交。当然,除非有人在这期间做了些改变。@dowhilefor:这个项目太大了,我不相信这会起作用。@artbristol:很高兴知道。我想知道为什么他们花了这么长时间才明白1.7之前的系统是多么混乱。。