ANN: hg graphlog extension

Matt Mackall mpm at selenic.com
Sat Mar 24 17:48:03 CDT 2007


On Sat, Mar 24, 2007 at 09:23:26PM +0100, Joel Rosdahl wrote:
> Hi,
> 
> Inspired by the ASCII-art log command recently added to Monotone, I
> hacked together a Mercurial extension that adds an "hg glog" command. 
> The output looks approximately like a revision graph displayed by hgk
> combined with the normal "hg log" output, but incremental, faster and
> non-graphical.
> 
> See http://www.selenic.com/mercurial/wiki/index.cgi/GraphlogExtension
> for a link to the code.
> 
> Example output:
> 
>     % hg glog
>     @    changeset:   4276:cb6107f78b92
>     |\   tag:         tip
>     | |  parent:      4269:73c918c71300
>     | |  parent:      4275:81402b2b294d
>     | |  user:        Matt Mackall <mpm at selenic.com>
>     | |  date:        Sat Mar 24 02:57:27 2007 -0500
>     | |  summary:     Merge with crew
>     | |
>     o |  changeset:   4275:81402b2b294d
>     | |  user:        Alexis S. L. Carvalho <alexis at cecm.usp.br>
>     | |  date:        Fri Mar 23 23:40:25 2007 -0300
>     | |  summary:     use os.path.islink instead of util.is_link
>     [...]
> 
> I hope it will be useful for others too. Comments are welcome!

Very nice.

Can you comment some on the performance characteristics of the graph
algorithm?

In my handy kernel repo with 50000 revs, I get:

hg glog -q > /dev/null -> 24.7 seconds
hg log -q > /dev/null -> 5.6 seconds

-- 
Mathematics is the supreme nostalgia of our time.


More information about the Mercurial mailing list