Mercurial > evolve
view tests/test-obsolete.t @ 46:3b0364fc822f
Do not propagate obsolete changeset
author | Pierre-Yves David <pierre-yves.david@logilab.fr> |
---|---|
date | Thu, 08 Sep 2011 16:46:58 +0200 |
parents | d89453a10991 |
children | 4e804af47e57 |
line wrap: on
line source
$ cat >> $HGRCPATH <<EOF > [web] > push_ssl = false > allow_push = * > [extensions] > EOF $ echo "obsolete=$(echo $(dirname $TESTDIR))/obsolete.py" >> $HGRCPATH $ mkcommit() { > echo "$1" > "$1" > hg add "$1" > hg ci -m "add $1" > } $ alias qlog="hg log --template='{rev} {node|short}\n'" $ hg init local $ cd local $ mkcommit a # 0 $ mkcommit b # 1 $ mkcommit c # 2 $ hg up 1 0 files updated, 0 files merged, 1 files removed, 0 files unresolved $ mkcommit obsol_c # 3 created new head $ hg debugobsolete 3 2 Test that obsolete changeset are hidden $ qlog 3 0d3f46688ccc 1 7c3bad9141dc 0 1f0dee641bb7 $ qlog --hidden 3 0d3f46688ccc 2 4538525df7e2 1 7c3bad9141dc 0 1f0dee641bb7 $ qlog -r 'obsolete()' --hidden 2 4538525df7e2 test obsolete changeset with no-obsolete descendant $ hg up 1 -q $ mkcommit "obsol_c'" # 4 (on 1) created new head $ hg debugobsolete 4 3 $ qlog 4 725c380fe99b 1 7c3bad9141dc 0 1f0dee641bb7 $ qlog -r 'obsolete()' --hidden 2 4538525df7e2 3 0d3f46688ccc $ hg up 3 -q $ mkcommit d # 5 (on 3) $ qlog -r 'obsolete()' 3 0d3f46688ccc Test communication of obsolete relation with a compatible client $ hg init ../other-new $ hg push --traceback ../other-new pushing to ../other-new searching for changes adding changesets adding manifests adding file changes added 5 changesets with 5 changes to 5 files (+1 heads) $ qlog -R ../other-new -r 'obsolete()' 2 0d3f46688ccc $ qlog -R ../other-new 4 a7a6f2b5d8a5 3 725c380fe99b 2 0d3f46688ccc 1 7c3bad9141dc 0 1f0dee641bb7 $ hg up 3 -q $ mkcommit obsol_d # 6 created new head $ hg debugobsolete 6 5 $ qlog 6 95de7fc6918d 4 725c380fe99b 3 0d3f46688ccc 1 7c3bad9141dc 0 1f0dee641bb7 $ qlog -r 'obsolete()' 3 0d3f46688ccc $ hg push ../other-new -f # XXX should not have to use -f pushing to ../other-new searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (+1 heads) $ qlog -R ../other-new 5 95de7fc6918d 3 725c380fe99b 2 0d3f46688ccc 1 7c3bad9141dc 0 1f0dee641bb7 $ qlog -R ../other-new -r 'obsolete()' 2 0d3f46688ccc $ hg up -q .^ $ mkcommit "obsol_d'" # 7 created new head $ hg debugobsolete 7 6 $ hg pull -R ../other-new . pulling from . searching for changes adding changesets adding manifests adding file changes added 2 changesets with 2 changes to 2 files (+2 heads) (run 'hg heads .' to see heads, 'hg merge' to merge) $ qlog -R ../other-new 7 909a0fb57e5d 3 725c380fe99b 2 0d3f46688ccc 1 7c3bad9141dc 0 1f0dee641bb7 pushing to stuff that doesn't support obsolete $ hg init ../other-old $ echo '[extensions]' > ../other-old/.hg/hgrc $ echo "obsolete=!$(echo $(dirname $TESTDIR))/obsolete.py" >> ../other-old/.hg/hgrc $ hg push ../other-old pushing to ../other-old searching for changes adding changesets adding manifests adding file changes added 5 changesets with 5 changes to 5 files (+1 heads) $ qlog -R ../other-old 4 909a0fb57e5d 3 725c380fe99b 2 0d3f46688ccc 1 7c3bad9141dc 0 1f0dee641bb7