gpt4 book ai didi

svn - "Phantom"SVN 存储库中的目录

转载 作者:行者123 更新时间:2023-12-03 00:56:28 27 4
gpt4 key购买 nike

我设法使 SVN 存储库陷入不良状态。我已经移动了一个目录,但现在无法将其提交到新位置。

svn status而言,目录未知(目录名称为type)。

$ svn status?      type

当我尝试添加目录时,服务器说它已经存在。

$ svn add typesvn: warning: 'type' is already under version control

如果我尝试更新目录,它就会再次消失。

$ svn update typesvn: '.' is not under version control

如果我尝试提交它,服务器会提示它的旧父目录不再存在。

$ svn commit type -m "Moving type"svn: Commit failed (details follow):svn: '/prior/trunk/src/nyu/prior/cvc3/theorem_prover/expression' path not found

为了增加神秘感,该目录的内容被标记为已修改。

$ svn status typeA  +   typeM  +   type/IntegerType.javaM  +   type/BooleanType.javaM  +   type/Type.javaM  +   type/RationalRangeType.javaM  +   type/RationalType.javaM  +   type/IntegerRangeType.java

如果我尝试从目录内更新,我会得到这个。

$ cd type$ svn updatesvn: Two top-level reports with no target

从目录内提交会出现与上面相同的找不到路径错误。

发生了什么事以及如何解决它?

编辑:@Rob Oxspring 发现了我的问题:我在 Eclipse 中移动东西太激进了。

更新:我接受@Rob Oxspring 的“不要这样做/重新开始”的回答并接受他的建议。如果有人能告诉我:(a) 上述错误消息的确切含义以及 (b) 如何实际解决问题,我仍然会感兴趣。

最佳答案

在我看来,type 是由某些支持 Subversion 的复制命令创建的,然后使用不支持 Subversion 的副本移至当前目录。根据我的经验,当包重构操作在 Eclipse 中链接在一起而中间没有提交时,通常会发生这种情况。通常,当您复制/移动本地复制/移动的文件或文件夹时,Subversion 不能很好地处理它,尽管我认为 1.5 版本可能会处理得更好。

为了避免将来出现这种情况,请在这些步骤之间进行提交。如果您想隐藏干预提交,那么我建议您在分支上进行多步重构,然后将更改合并回您所在的单个提交中的主线。

如果工作量不大,那么我建议返回一个干净的工作副本并重做您的更改,在每个步骤后提交。如果您愿意丢失历史记录,即允许新的 IntegerType.java 根本不链接到旧的 IntegerType.java,那么您可以采取该方法BCS 建议:

  • 将更改的文件移至某个临时位置,删除所有 .svn 目录
  • 将您的工作副本更新为干净的工作状态
  • 将更改复制回您想要的位置
  • 提交生成的工作副本

关于svn - "Phantom"SVN 存储库中的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47022/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com