SVN-提交到旧版本

SVN-提交到旧版本,svn,commit,revision,Svn,Commit,Revision,我们在服务器上有一个svn存储库,一些客户端正在更新/提交它 现在,服务器昨天崩溃了,可用的备份已经有一周了,并且保存了一个旧的svn头。假设备份的头部是修订版2895 然而,客户有修订版,即2930。当我尝试提交到服务器时,我得到一个错误,服务器上的版本是旧版本。我无法签入,无法升级,无法提交 有人知道我可以做些什么来增加服务器上的修订计数器,或者在这种情况下如何进行提交吗 提前感谢。您不能在本地复制您的2930,还原到2895,然后将所有内容提交回2896吗?您可以在rev2930制作工作副

我们在服务器上有一个svn存储库,一些客户端正在更新/提交它

现在,服务器昨天崩溃了,可用的备份已经有一周了,并且保存了一个旧的svn头。假设备份的头部是修订版2895

然而,客户有修订版,即2930。当我尝试提交到服务器时,我得到一个错误,服务器上的版本是旧版本。我无法签入,无法升级,无法提交

有人知道我可以做些什么来增加服务器上的修订计数器,或者在这种情况下如何进行提交吗


提前感谢。

您不能在本地复制您的2930,还原到2895,然后将所有内容提交回2896吗?

您可以在rev2930制作工作副本的无版本临时副本,将rev2895签出到新文件夹,用您制作的副本覆盖并提交到rev2896。这将要求其他人执行类似的操作(如果他们的工作副本没有任何更改,他们可以从rev2896签出一个新的工作副本)。

一个解决方案是在新文件夹中签出并用修改的文件替换文件,然后尝试提交


我不是专家,但可能有一个更优雅的解决方案。

你能回到旧版本吗?这不会有帮助,但这正是DVCS拯救你的地方。。。每个人都有一份完整的回购协议副本。我现在知道,git或mercurial不会有这样的结果。我们现在正在学习转向DVCS。这可能是前进的方向。这是有意义的。我必须对所有客户端执行此操作,以便它们上载和合并更改。我要试试这个!谢谢,实际上你必须这样做一次,然后将每个客户端恢复到2896。通过从2930恢复到2896,客户端上的所有更改都会丢失吗?啊,如果他们没有提交到2930,你是对的,我的快捷方式想法只适用于没有任何本地修改的情况。每个人都必须导出、还原和复制其修改:(非常确定这实际上不会起作用,因为它只发送自真正的r2930以来的差异,而存储库只有通过r2895的数据。@Andrew:当然!愚蠢的我。我不知怎的忘记了客户端只与服务器交换差异以获得更好的性能。这就是为什么它如此缓慢的原因!哦,等等……事实上,这就是我刚才所做的。检查将rev2985的副本复制到新的本地文件夹。使用svn导出工具,使用rev2930导出我的本地回购,该工具将删除所有.svn数据,并将文件复制到本地rev2985,然后作为rev2986提交。现在的问题是,我必须为客户端手动执行相同的操作=(我希望这是一个简单的方法,就像在服务器上反转或增加rev计数的命令一样。谢谢您的输入!