svn没有更新,没有还原,但文件在服务器上

时间:2012-01-18 22:03:39

标签: svn

1)我有一个二进制文件,我想用更新的版本替换,所以我将新文件复制到旧文件上,然后尝试提交它。

svn commit file.swf -m "message"

我收到存在冲突的错误,我需要先更新

2)svn update . --force

没有

3)svn revert .

文件被还原,我现在可以从服务器看到。

4)我在旧文件上复制新文件并尝试提交。我知道还存在冲突。

5)我尝试先从repo中删除它,然后再添加它并再次提交

svn del file.swf --force
D   file.swf

svn commit . -m "message"
--no response

svn add file.swf
A   file.swf

svn commit file.swf -m "message"

我收到了提交文件在服务器上的错误。什么??是的,我检查了在线仓库,文件仍在那里。

6)好的,现在我尝试将其还原。

svn revert . 

纳达

svn update . --force

纳达

现在我真的很困惑并陷入困境。我既不能从repo中删除文件,也不能从服务器上取回文件,也不能提交新文件。如何走出这个烂摊子?


如果您想要更多问题,但最重要的是解决它并开始行动。

为什么#4文件仍未提交但我之前更新过?为什么#5我无法正确删除?为什么#6如果文件不在本地,我仍然无法从服务器恢复或更新它,如果它在那里?

最重要的是,如何用更新的二进制文件替换服务器上的那个?我完全错了路线吗?

2 个答案:

答案 0 :(得分:5)

我会回答我自己的问题而不是删除它,也许它可以帮助某人。

摆脱困境的诀窍是从二进制文件中删除文件夹,从磁盘中删除整个文件夹,从svn更新它并完全恢复它。然后将旧二进制文件复制到旧二进制文件并执行正常提交。

现在一切都恢复了正常。看起来主要是从文件夹中移出一层。

答案 1 :(得分:0)

我有一个类似但不完全相同的情况,我可以通过指定我想要恢复的实际文件名(而不仅仅是目录)来解决这个问题。

其他人可能希望在去核之前尝试一下 - 但没有担保人: - )