如何解决svn错误"输入'xxx被标记为'已复制',但本身并未计划添加."

And*_*eas 21 svn commit

当我尝试提交特定文件(xxx.java)后弹出以下错误:

svn: Entry for 'C:\aaa/bbb/ccc/xxx.java' is marked as 'copied' but is not itself scheduled
for addition.  Perhaps you're committing a target that is
inside an unversioned (or not-yet-versioned) directory?
Run Code Online (Sandbox Code Playgroud)

如何解决这个SVN错误?

And*_*eas 19

我通过以下步骤解决了这个问题:

  1. 备份您在"ccc"文件夹中的更改
  2. 删除文件夹"ccc".
  3. 顶部文件夹"AAA"运行"SVN更新"
  4. 重做文件xxx.java中的更改
  5. 再次提交

然后提交工作.

  • 我的'ccc'文件夹中有很多更改,所以我放到命令行,然后'cd'到ccc目录作为我的工作目录.然后我执行了"find.-name .svn -type d -exec rm -rf {} \;" 从ccc文件夹中删除所有svn元数据.'cd'回到aaa目录.'svn update'从存储库获取'ccc'目录.'svn rm ccc'从subversion中删除ccc.提交更改.然后'cp -rf ccc'来自备份位置,其中包含没有.svn元数据的ccc目录.'svn add ccc'和commit. (2认同)

Bla*_*ake 8

如果您从大型源代码树中签出并且想要避免必须刷新所有内容,那么我找到了解决此问题的另一种方法.因为替代方案是无论如何都要吹掉其他东西,这至少值得一试(它对我有用).

在.svn文件夹中,您会注意到您有一个"条目"文件.如果你在XXX.java所在的.svn文件夹中打开其中一个人,你会在文本中看到一堆"复制"标志.我不太确定你是如何到达那里的,但是我来自与VisaulSVN一起玩.

我发现从这些条目文件中删除这些复制的标志将导致错误消失并允许您再次提交.几个笔记:

  • 请注意,条目文件最初是一个ReadOnly文件,您必须取消选中此文件才能进行更改,并在完成后重新检查它.
  • 此复制的标志可能位于源树的几个区域中,因此您可能最终必须修复其中几个条目文件.
  • 请注意保持行号相同,只需从文件中删除"复制"文本即可.