重命名文件,现在SVN不允许我提交?

fro*_*die 52 svn commit

我正在使用Aptana开发ColdFusion网站.我们正在使用SVN进行版本控制.

我重命名了几个文件,现在我正在尝试提交其中一个,但是我收到以下错误:

'SVN Commit' has encountered a problem.
org.apache.subversion.javahl.ClientException: Illegal target for the requested operation
svn: Commit failed (details follow):
svn: Cannot commit 'R:\myPath\My-New-File-Name.cfm' because it was moved from 'R:\myPath\My-Old-File-Name.cfm' which is not part of the commit; both sides of the move must be committed together
Run Code Online (Sandbox Code Playgroud)

这似乎表明我需要同时提交先前的文件(已重命名)和新重命名的文件.如何提交不再存在的文件......?

gbj*_*anb 87

提交目录,而不是文件.

将目录视为包含其包含的文件列表的文本文件,然后您可以看到要成功提交,您需要更新目录本身,以便它可以删除旧条目并添加新条目.这将在SVN中显示为删除旧文件并添加新文件(即对目录进行2次更改,而不是对文件进行1次更改)

如果只想提交1个文件,则需要暂时​​将其他已更改的文件添加到忽略列表中.

  • 一个相关的问题通过以下方法解决:1)单独提交文件夹2)恢复状态>添加<3)(更新)的文件4)在龟中重命名文件5)提交成功. (4认同)
  • 我想这样做但我只想在目录中提交1个文件.但我现在意识到如果我在整个文件夹上选择提交,我可以取消选中所有其他文件,只留下原始文件和重命名的文件......谢谢! (2认同)

Ray*_*ley 12

各种客户似乎比其他人更好地处理这个问题.

Visual Studio的AnkhSVN遇到此错误,无法处理它.

TortiseSVN(shell扩展)可以工作 - 它知道删除旧文件并添加新文件.

因此,如果你在Windows上,一个简单的解决方法就是使用Explorer中的TortiseSVN对目录进行提交(删除旧文件名并添加新文件名).


Bhu*_*amy 7

添加一个旧名称的文件并执行提交,然后再次删除该文件做提交.


Pau*_*ihy 6

在使用subversion的eclipse中,我能够通过在项目中的足够高级别的文件夹中执行Team-> synchronize来解决这个令人困惑的错误,该文件夹包含新旧文件名和位置.如果你移动并重命名了你的文件,或者如果你无法弄清楚究竟发生了什么,那么在项目的最高层同步也不会有什么坏处.

当我这样做时,旧版本的重命名文件出现在同步视图中.一旦我对它们使用"覆盖和提交",它们就会再次消失.此时,新的将最终正确提交.