bzr tags命令中的未知修订号

时间:2011-02-09 01:32:12

标签: version-control bazaar

当我在分支上运行bzr tags命令时,我经常会看到一些没有修订号的标签。它看起来像一个问号。例如,当我运行此命令时:

bzr tags -d lp:~zaber/openobject-client/main

标签5.0.7没有修订号:

5.0.0                930                                                       
5.0.0-2              933
5.0.0-3              938
5.0.0-alpha          719
5.0.0-rc1            771
5.0.0-rc1.1          776
5.0.0-rc2            830
5.0.0-rc3            858
5.0.1                946.1.19
5.0.2                976
5.0.3                983
5.0.4                986
5.0.5                993
5.0.6                1000
5.0.7                ?
5.0.7rc1             1022
5.0.7rc2             1042

当我为多个本地分支机构共享存储库时,这种情况可能会更频繁发生,但我不确定。

2 个答案:

答案 0 :(得分:3)

这些标签对于bzr是已知的(在某些拉动或合并操作中从另一个分支中获取或合并),但在您的历史记录中不存在相应的修订(未合并到您的分支)。

严格地说这是一个错误,你可以在Launchpad.net上的bzr bugtracker中找到它。

您可以对此类标记做些什么:

  1. 仅使用bzr tag --delete XXX
  2. 将其从您的分支中删除
  3. 稍后使用它们将这些修订与bzr merge -r tag:YYY lp:XXX
  4. 合并
  5. 使用bzr tags --show-ids
  6. 查看相应的修订ID

答案 1 :(得分:2)

根据bialix建议,使用bzr tag --delete XXX删除代码有效。此外,删除结账时的标签也会删除主分支上的标签。 (我猜这与提交工作的方式并行,但它仍然让我感到惊讶。)有时合并会带来一堆破碎的标签,所以这里有一个gawk命令从本地分支中删除所有未知标签:

bzr tags | gawk '/\?/ { system("bzr tag --delete " $1) }'