tests/test-obsolete-divergent.t
changeset 33330 ba43e5ee9c6d
parent 33274 68f3e819d41d
child 33542 b11e8c67fb0f
equal deleted inserted replaced
33329:e714159860fd 33330:ba43e5ee9c6d
     8   $ cat >> $HGRCPATH << EOF
     8   $ cat >> $HGRCPATH << EOF
     9   > [ui]
     9   > [ui]
    10   > logtemplate = {rev}:{node|short} {desc}\n
    10   > logtemplate = {rev}:{node|short} {desc}\n
    11   > [experimental]
    11   > [experimental]
    12   > evolution=createmarkers
    12   > evolution=createmarkers
       
    13   > [extensions]
       
    14   > drawdag=$TESTDIR/drawdag.py
    13   > [alias]
    15   > [alias]
    14   > debugobsolete = debugobsolete -d '0 0'
    16   > debugobsolete = debugobsolete -d '0 0'
    15   > [phases]
    17   > [phases]
    16   > publish=False
    18   > publish=False
    17   > EOF
    19   > EOF
   615   $ hg debugsuccessorssets 'desc('A_0')' --closest --hidden
   617   $ hg debugsuccessorssets 'desc('A_0')' --closest --hidden
   616   007dc284c1f8
   618   007dc284c1f8
   617       82623d38b9ba 392fd25390da
   619       82623d38b9ba 392fd25390da
   618 
   620 
   619   $ cd ..
   621   $ cd ..
       
   622 
       
   623 Use scmutil.cleanupnodes API to create divergence
       
   624 
       
   625   $ hg init cleanupnodes
       
   626   $ cd cleanupnodes
       
   627   $ hg debugdrawdag <<'EOS'
       
   628   >   B1  B3 B4
       
   629   >   |     \|
       
   630   >   A      Z
       
   631   > EOS
       
   632 
       
   633   $ hg update -q B1
       
   634   $ echo 3 >> B
       
   635   $ hg commit --amend -m B2
       
   636   $ cat > $TESTTMP/scmutilcleanup.py <<EOF
       
   637   > from mercurial import registrar, scmutil
       
   638   > cmdtable = {}
       
   639   > command = registrar.command(cmdtable)
       
   640   > @command('cleanup')
       
   641   > def cleanup(ui, repo):
       
   642   >     def node(expr):
       
   643   >         unfi = repo.unfiltered()
       
   644   >         rev = unfi.revs(expr).first()
       
   645   >         return unfi.changelog.node(rev)
       
   646   >     with repo.wlock(), repo.lock(), repo.transaction('delayedstrip'):
       
   647   >         mapping = {node('desc(B1)'): [node('desc(B3)')],
       
   648   >                    node('desc(B3)'): [node('desc(B4)')]}
       
   649   >         scmutil.cleanupnodes(repo, mapping, 'test')
       
   650   > EOF
       
   651 
       
   652   $ rm .hg/localtags
       
   653   $ hg cleanup --config extensions.t=$TESTTMP/scmutilcleanup.py
       
   654   $ hg log -G -T '{rev}:{node|short} {desc} {troubles}' -r 'sort(all(), topo)'
       
   655   @  5:1a2a9b5b0030 B2 divergent
       
   656   |
       
   657   | o  4:70d5a63ca112 B4 divergent
       
   658   | |
       
   659   | o  1:48b9aae0607f Z
       
   660   |
       
   661   o  0:426bada5c675 A
       
   662   
       
   663   $ hg debugobsolete
       
   664   a178212c3433c4e77b573f6011e29affb8aefa33 1a2a9b5b0030632400aa78e00388c20f99d3ec44 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   665   a178212c3433c4e77b573f6011e29affb8aefa33 ad6478fb94ecec98b86daae98722865d494ac561 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
       
   666   ad6478fb94ecec98b86daae98722865d494ac561 70d5a63ca112acb3764bc1d7320ca90ea688d671 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}