如何修剪hg pull之后的书签?

时间:2015-08-11 13:34:10

标签: mercurial bookmarks

是否可以选择hg pull 强制更新(非转发)所有书签,甚至修剪 所有书签在远程存储库中不再存在?

如果没有,执行这些任务的推荐命令序列是什么?

1 个答案:

答案 0 :(得分:1)

问题并不完全清楚,所以我在这里做了一些猜测。书签通常会在拉动期间更新,除非它们被更改为指向早期版本。在这种情况下,无论如何,您都可以使用hg pull -B <bookmarkname>来提取书签。

如果通过修剪书签意味着从远程服务器删除它们,则首先必须在本地删除它们,然后按下已删除的书签。即。

hg bookmark -d <bookmarkname>
hg push -B <bookmarkname> <repository>

摆脱远程存储库中不存在的所有书签的最简单方法是首先删除所有不活动的书签,然后再次从存储库中提取。

示例:

hg bookmark -d $(hg bookmarks | awk '{if (NF == 2) print $1;}')
hg pull

您可以将第一个命令作为别名放在.hgrc文件中,例如:

[alias]
clrbookmarks = !$HG bookmark -d $($HG bookmarks | awk '{if (NF == 2) print $$1;}')