2010-05-08 45 views
30

如果不是,这是git有的功能吗?我可以用hg log以相反的顺序打印历史记录吗?

+0

它已经在反向打印,您需要反向反转(或向前)。因此,一些答案给出了正常的顺序(颠倒过来)。 – 2015-03-15 12:51:45

+0

有没有办法让它与'-G'(图)一起工作?我正在使用'hg log | tac“,但是'/'和''出来的方式是错误的(没有颜色)。我只需要它用于'-G' – 2015-03-15 12:53:37

回答

41

YGL's answer是正确的日志,看看this thread

从 “汞可以帮助记录” 的提示可能是:
“如果没有修改指定范围,默认为提示:0“。将此与来自“hg help multirevs”的知识结合起来。那就是:

hg log -r :

multirevs

当水银接受多于一个的修改,它们可以单独指定,或者提供为拓扑连续范围,通过分离“:”字符。

范围符号的语法是[BEGIN]:[END],其中BEGINEND是修订标识符。
BEGINEND都是可选的。
如果未指定BEGIN,则默认为版本号0.
如果END未指定,则默认为提示。
范围“:”意思是“所有修订”。

如果BEGIN大于END,修订按相反顺序处理。

范围作为一个封闭的区间。这意味着,一个范围的3:5给出3,4和5
类似地,一系列的9:6给出9,8,7,和6


注意:如果你想要做同样的与Graphlogglog)的行为与正常的log命令(的子集)相似,不同之处在于它还使用ASCII字符在log左侧打印表示修订历史记录的图表。),您将需要a patch

我要提醒你,这将是对大图,特别是0:tip非常慢。
参见patch 1patch 2。我正在努力改善这一点。

22

你尝试

hg log -r :

10

如果你想设置反向顺序默认情况下,该行添加到您的hgrc(<回购> /.hg/hgrc,$ HOME/.hgrc,在/ etc /善变/ hgrc):

[defaults] 
log = -r : 
+1

我假设这改变了hg日志的默认行为以相反的顺序显示历史。 – 2011-03-09 10:18:50

+3

我最初对此表示赞成,但现在我意识到这对我不起作用,因为它打破了hg log显示单个修订的能力。也就是说,hg log现在显示反向修订。好。但是,hg log -r 25不会仅显示变更集25 - 它仍将显示整个变更集列表。 – firebush 2012-02-06 21:48:07

6

到nad2000的回答另一种方法是简单地在~/.hgrc

[alias] 
logr = log -r : 

现在呼吁hg logr显示以相反的顺序日志添加一个别名。不幸的是,正如VonC所指出的,由于hg glog -r :不以相反顺序显示日志,因此无法为glog定义相同类型的别名。

+3

+1添加一个别名似乎比改变默认行为更好。 (@ firebush解释了为什么) – 2013-04-06 12:10:21

1

不知道这是否已经改变或我做错了什么,但我得到逆时间顺序记录从水银这样的:

hg log -r tip:0 

我通常他们限制在最近的日志条目太多使用-l

hg log -r tip:0 -l 3 
4

只是为了提

Revset(长)版本:

hg log -r "sort(all(),-date)"

+0

这真的是正确的答案。如果您需要DAG日志(::)而不是时间日志(:),则'log -r:'不起作用。 – 2014-01-14 18:29:07

3

我很惊讶没有人提到reverse()呢。也许这是一个新的hg功能?

hg log -r "reverse(all())"

当然,你可以用尖走:0为好。我喜欢反向,因为我也经常在与祖先混合时使用它。

hg log -r "reverse(::12345)"

相关问题