Mercurial > hg
view tests/test-rebase-keep-branch.t @ 14087:f3d585c9b042
graphmod: restore generator nature of dagwalker
9966c95b8c4f introduced the ability to walk the DAG
given arbitrary revisions, but changed the behaviour of
it to return a list of all nodes (and create a changectx
for each one) rather than doing it lazily.
This has a pretty significant impact on performance for large
repositories (tested on CPython repo, with output disabled):
$ time hg glog
real 0m2.642s
user 0m2.560s
sys 0m0.080s
Before 9966c95b8c4f:
$ time hg glog
real 0m0.143s
user 0m0.112s
sys 0m0.032s
And after this fix:
$ time hg glog
real 0m0.213s
user 0m0.184s
sys 0m0.028s
author | Idan Kamara <idankk86@gmail.com> |
---|---|
date | Sat, 30 Apr 2011 15:10:58 +0300 |
parents | 6cc4b14fb76b |
children |
line wrap: on
line source
$ cat >> $HGRCPATH <<EOF > [extensions] > graphlog= > rebase= > > [alias] > tglog = log -G --template "{rev}: '{desc}' {branches}\n" > EOF $ hg init a $ cd a $ echo c1 > c1 $ hg ci -Am c1 adding c1 $ echo c2 > c2 $ hg ci -Am c2 adding c2 $ echo l1 > l1 $ hg ci -Am l1 adding l1 $ echo l2 > l2 $ hg ci -Am l2 adding l2 $ hg up -q -C 1 $ hg branch 'notdefault' marked working directory as branch notdefault $ echo r1 > r1 $ hg ci -Am r1 adding r1 $ hg tglog @ 4: 'r1' notdefault | | o 3: 'l2' | | | o 2: 'l1' |/ o 1: 'c2' | o 0: 'c1' Rebase a branch while preserving the branch name: $ hg up -q -C 3 $ hg rebase -b 4 -d 3 --keepbranches saved backup bundle to $TESTTMP/a/.hg/strip-backup/*-backup.hg (glob) $ hg tglog @ 4: 'r1' notdefault | o 3: 'l2' | o 2: 'l1' | o 1: 'c2' | o 0: 'c1' $ hg branch notdefault