撤消与乌龟svn的解析?

撤消与乌龟svn的解析?,svn,tortoisesvn,Svn,Tortoisesvn,我修改了本地文件(很多重要的事情) 我试图做出承诺,但有一些冲突 我刚刚更新(下载远程文件)并解决了冲突(希望用本地文件/工作副本替换“远程”文件) 它没有达到我的预期 如何将文件恢复到第1点之后的状态?很遗憾,如果您将冲突标记为已解决,则无法恢复。一旦发生这种情况,冲突文件的三个版本(您的、存储库和它们的共同祖先)将合并为一个(您所说的解决冲突的已解决版本),并从您的工作副本中删除 听起来你误解了解决冲突应该做什么。不修改存储库中的任何内容;这纯粹是一个本地(在您的机器上)操作。如果您没有从回

我修改了本地文件(很多重要的事情)

  • 我试图做出承诺,但有一些冲突

  • 我刚刚更新(下载远程文件)并解决了冲突(希望用本地文件/工作副本替换“远程”文件)

  • 它没有达到我的预期


    如何将文件恢复到第1点之后的状态?

    很遗憾,如果您将冲突标记为已解决,则无法恢复。一旦发生这种情况,冲突文件的三个版本(您的、存储库和它们的共同祖先)将合并为一个(您所说的解决冲突的已解决版本),并从您的工作副本中删除


    听起来你误解了解决冲突应该做什么。不修改存储库中的任何内容;这纯粹是一个本地(在您的机器上)操作。

    如果您没有从回收站中删除SVN使用其所谓的“解析”功能删除的文件,则可以使用VsDiffMerge逐个文件地执行此操作。冲突中的每个文件都会有一个相应的
    .mine
    .r1234
    (其中1234是SVN生成的数字(显然只从它所表示的代码中递增!)

    对于每个文件,请执行以下步骤:

  • 从回收站还原
    .mine
    .r1234
    文件
  • 打开命令提示符
  • cd
    到那些文件还原到的目录中(例如
    cd“C:\My code\Project 1\My File.cs”
  • 找到用于安装Visual Studio的vsDiffMerge.exe(对于Visual Studio 2019,通常为:“C:\Program Files(x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\vsDiffMerge.exe”)
  • 按如下方式运行vsDiffMerge.exe(适用于Visual Studio 2019的说明):
    C:\Program Files(x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\vsDiffMerge.exe/m“My File.cs.r1234”“My File.cs.mine”“My File.cs.mine”“My File.cs.mine”“My File.cs”
  • 现在应该会出现一个Visual Studio实例,允许您真正解决
    .r1234
    文件和
    .mine
    文件之间的冲突,并将合并结果保存到
    .cs
    文件中,该文件被SVN的假解析搞砸了
    嗯,所以我的文件丢了。是的,“解决”不能解决任何问题!它只是把发生冲突的文件弄得一团糟,这使得SVN忽略了它仍然处于冲突中的事实!“永远忽略冲突”对于这种毫无意义的行为来说是一个更合适的标签!补充一句,如果你不想一个文件一个文件地完成所有这些步骤,您可以还原所有
    .r1234
    .mine
    文件,并编写命令提示程序,对任何
    .cs
    文件调用vsdiffmerge,并在同一文件夹中使用相应的
    .mine
    .r1234
    文件。批处理文件的以下脚本也可能有用:
    “C:\program files(x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\vsDiffMerge.exe“/m“%~1.r%2”“%~1.mine”“%~1.mine”“%~1”
    。用法:
    “My Batch File.bat”“My Source code.cs”1234
    ,其中1234是扩展名文件
    .r
    末尾的数字。