假设我想从k大于或等于1的远程存储库中提取下一个k个变更集。是否有允许使用的语法?如果可用的变更集小于或等于k,那么返回一个简单的pull
的命令将是不错的选择。
当然是这种情况。术语“下一个”是指资源库的本地修订号,远程资源库不会公开公开该版本号。
我知道如果可以通过Web界面浏览存储库,那么我可以查找合适的哈希,但是有没有一种方法可以在没有有关远程存储库的任何特定信息的情况下进行浏览?
最佳答案
如果使用hg incoming
作为变更集散列的来源,则可以使用awk
(在我的情况下为GNU风格)提取第N个哈希。然后将获得的哈希输入hg pull
,将拉取该变更集及其所有祖先。您可以使用hg incoming
的选项(例如--branch)进一步优化变更集列表。
例子如下:
hg pull -r $(hg in -q -T'{node}\n' | \
gawk '\
BEGIN {chunk=10} \
NR == chunk {printf $0} \
END {if (chunk > NR) printf $0}')
将最多提取下一个传入的10个变更集。您可以通过awk脚本中的chunk变量控制数字。