我有一个svn存储库
http://path/to/svn/trunk并将其中的一些内容分支到
http://path/to/svn/branch通过使用
svn copy http://path/to/svn/trunk/site1 http://path/to/svn/branch/site1 -m 'message'我在分支上做了很多工作,但还没有把它合并回去,因为它还没有准备好。
但是,我现在需要提交对主干的更改,并且在尝试这样做时会得到以下结果
> svn commit -m 'some message'
svn: Commit failed (details follow):
svn: Aborting commit: '/path/to/svn/trunk' remains in tree-conflict我认为应该在/path/to/ svn up上执行主干操作,但是发生了以下情况
> svn up
svn: Two top-level reports with no target--force无助于补救这种情况。
svn status会导致更改后的文件旁边有许多+
> svn status
M + site1/changedfile以前有没有人经历过这种情况,你能说明一下手头的问题吗?
发布于 2012-07-23 21:30:46
我设法解决这个问题的方法是将/path/to/svn/trunk中受影响的目录移动到一个临时位置,并在主干上执行svn up。
这拉入了我的文件的旧版本。然后,我手动复制了无法提交的文件,一旦它们重新就位,一切都按预期进行。
发布于 2015-07-02 04:35:09
在一次糟糕的svn mv https://path1 https://path2之后,下面的方法对我很有效
svn revert --depth infinity path2
svn update path2这避免了我不得不像其他人建议的那样进行新的检查。在此过程中,我所做的任何更改都没有丢失。
发布于 2012-07-19 01:54:44
在做谷歌搜索时,答案(例如this SO thread)表明你做了一些让svn不高兴的更改(例如对文件进行了修改,然后在没有提交的情况下移动了它)。
到目前为止,我能找到的最好的修复方法是对主干进行一次新的检查,手动合并对它的更改(例如,如果你在Windows上,通过WinMerge ) --在对同一文件/目录进行不同类型更改的过程中提交--从你当前的工作副本;然后提交该检查。(此时,您可以将当前工作副本替换为修改后的最新签出,或者放弃工作副本中的所有更改并对其进行更新,使其与您刚刚提交的更改保持同步)
https://stackoverflow.com/questions/11432000
复制相似问题