我可以在Subversion中删除提交吗?

时间:2011-09-10 12:13:00

标签: svn version-control commit cornerstone

每次事故我都犯了两次,因为我忘了添加两个文件。我可以从日志中删除特定的提交吗?

screenshot of log

我想删除提交№4。

4 个答案:

答案 0 :(得分:10)

简单的答案是“不”,因为Subversion不知道如何在添加提交时解决此案例,其他人更新其结帐,然后从历史记录中删除提交。可能会或可能不会有一个涉及Subversion存储手术的复杂答案。

答案 1 :(得分:5)

  1. AFAICS,你有不删除 r4,但合并和r5,是吗?
  2. 一般来说,SVN提交历史是不可改变的,正如Sii所说 - 如果你 没有权利删除/创建回购 - 你什么都做不了。
  3. 如果您可以删除当前仓库并使用新历史记录创建新仓库,则可以尝试:

    • svnadmin dump让人类可读(我不得不说) repository-dump,grok格式和编辑转储,删除仓库,svnadmin load 重新创建回购
    • 另一个想法是(而不是编辑转储)另一个 SCM,它与SVN的桥梁(hg + MQ(histedit)+ hg-git,f.e,将 允许您获取回购和折叠/删除更改集)。替换 旧存储库 - 见上面的第2页

答案 2 :(得分:1)

在您的情况下,只需修改与提交#4关联的提交注释,以反映您所做的实际更改。您可以通过修改SVN存储库配置来实现Subversion。请参阅Subversion FAQ

答案 3 :(得分:0)

为什么呢?让Subversion保留历史 - 这就是它的用途。提前和经常入住。没有必要删除提交#4。