我一直在玩一个受源代码控制的项目已经有一段时间了。我添加了几个文件,删除了一些其他文件,并将另一个项目中的整个目录复制到这个文件中。我现在才意识到其中一些复制的文件夹里面有.svn目录,但是,目前我们无法弄清楚只看项目哪个.svn目录与当前项目有关,哪些没有。< / p>
我非常需要承诺,正如预期的那样,svn让我头疼。起初我遇到了那些唠叨的“丢失或未锁定”的错误,但是在经历了很多混乱之后,我想我真的搞砸了。
那么,我应该如何继续提交?我应该删除所有.svn文件夹(我不确定哪些文件夹对应于当前项目,哪些不符合)或者是否会删除将每个文件连接到svn服务器中旧版本的所有信息?< / p>
由于
答案 0 :(得分:5)
我会尝试以下方法:
这应该在提交之前仔细检查svn状态是不可避免的,如果出现问题再次使用备份启动
答案 1 :(得分:1)
清除所有.svn
个文件夹可能不是您需要的。在每个.svn
文件夹中,有一个名为entries
的文件。在该文件中,远程仓库的URL(自从使用Git以来不再记住正确的SVN措辞;对不起)。
假设您的常规仓库位于http://server1.com/myregularrepo
并且您知道所有复制的文件夹(实际上并不属于您的仓库)来自http://otherserver.com/otherrepo
,那么搜索entries
就可以了。{ 1}}包含http://otherserver.com/otherrepo
的文件,然后删除其父文件夹(即其.svn
文件夹)。
如果您将多个外国仓库目录复制到您的工作副本,事情会变得更复杂,但我认为您已经掌握了该怎么做。
答案 2 :(得分:0)
如果您的代码符合您的要求,我相信您可以执行svn导出(删除所有.svn文件夹,然后将其作为补丁导入原始项目。