tests/test-obsolete.t
changeset 75 d7b11772f0b5
parent 52 62bdc2567099
child 79 9906560f585e
equal deleted inserted replaced
74:c7dd26dec7fc 75:d7b11772f0b5
     2   > [web]
     2   > [web]
     3   > push_ssl = false
     3   > push_ssl = false
     4   > allow_push = *
     4   > allow_push = *
     5   > [extensions]
     5   > [extensions]
     6   > EOF
     6   > EOF
       
     7   $ echo "states=$(echo $(dirname $TESTDIR))/hgext/states.py" >> $HGRCPATH
     7   $ echo "obsolete=$(echo $(dirname $TESTDIR))/hgext/obsolete.py" >> $HGRCPATH
     8   $ echo "obsolete=$(echo $(dirname $TESTDIR))/hgext/obsolete.py" >> $HGRCPATH
     8   $ mkcommit() {
     9   $ mkcommit() {
     9   >    echo "$1" > "$1"
    10   >    echo "$1" > "$1"
    10   >    hg add "$1"
    11   >    hg add "$1"
    11   >    hg ci -m "add $1"
    12   >    hg ci -m "add $1"
    12   > }
    13   > }
    13 
    14 
    14   $ alias qlog="hg log --template='{rev}\n- {node|short}\n'"
    15   $ alias qlog="hg log --template='{rev}\n- {node|short}\n'"
    15   $ hg init local
    16   $ hg init local
    16   $ cd local
    17   $ cd local
       
    18   $ hg states ready # XXX should be put in default config when state support it
    17   $ mkcommit a # 0
    19   $ mkcommit a # 0
       
    20   $ hg published 0
    18   $ mkcommit b # 1
    21   $ mkcommit b # 1
    19   $ mkcommit c # 2
    22   $ mkcommit c # 2
    20   $ hg up 1
    23   $ hg up 1
    21   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
    24   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
    22   $ mkcommit obsol_c # 3
    25   $ mkcommit obsol_c # 3
    70   - 0d3f46688ccc
    73   - 0d3f46688ccc
    71 
    74 
    72 Test communication of obsolete relation with a compatible client
    75 Test communication of obsolete relation with a compatible client
    73 
    76 
    74   $ hg init ../other-new
    77   $ hg init ../other-new
       
    78   $ hg -R ../other-new states ready # XXX should be put in default config when state support it
    75   $ hg push --traceback ../other-new
    79   $ hg push --traceback ../other-new
    76   pushing to ../other-new
    80   pushing to ../other-new
    77   searching for changes
    81   searching for changes
    78   adding changesets
    82   adding changesets
    79   adding manifests
    83   adding manifests
   157   - 1f0dee641bb7
   161   - 1f0dee641bb7
   158 
   162 
   159 pushing to stuff that doesn't support obsolete
   163 pushing to stuff that doesn't support obsolete
   160 
   164 
   161   $ hg init ../other-old
   165   $ hg init ../other-old
       
   166   > # XXX I don't like this but changeset get published otherwise
       
   167   > # remove it when we will get a --keep-state flag for push
       
   168   $ hg -R ../other-old states ready
   162   $ echo '[extensions]'  > ../other-old/.hg/hgrc
   169   $ echo '[extensions]'  > ../other-old/.hg/hgrc
   163   $ echo "obsolete=!$(echo $(dirname $TESTDIR))/obsolete.py" >> ../other-old/.hg/hgrc
   170   $ echo "obsolete=!$(echo $(dirname $TESTDIR))/obsolete.py" >> ../other-old/.hg/hgrc
   164   $ hg push ../other-old
   171   $ hg push ../other-old
   165   pushing to ../other-old
   172   pushing to ../other-old
   166   searching for changes
   173   searching for changes
   181   - 1f0dee641bb7
   188   - 1f0dee641bb7
   182 
   189 
   183 clone support
   190 clone support
   184 
   191 
   185   $ hg clone . ../cloned
   192   $ hg clone . ../cloned
       
   193   > # The warning should go away once we have default value to set ready before we pull
   186   requesting all changes
   194   requesting all changes
   187   adding changesets
   195   adding changesets
   188   adding manifests
   196   adding manifests
   189   adding file changes
   197   adding file changes
   190   added 8 changesets with 8 changes to 8 files (+4 heads)
   198   added 8 changesets with 8 changes to 8 files (+4 heads)
       
   199   909a0fb57e5d try to obsolete immutable changeset 95de7fc6918d
       
   200   95de7fc6918d try to obsolete immutable changeset a7a6f2b5d8a5
       
   201   725c380fe99b try to obsolete immutable changeset 0d3f46688ccc
       
   202   0d3f46688ccc try to obsolete immutable changeset 4538525df7e2
   191   updating to branch default
   203   updating to branch default
   192   4 files updated, 0 files merged, 0 files removed, 0 files unresolved
   204   4 files updated, 0 files merged, 0 files removed, 0 files unresolved
   193 
   205 
       
   206   $ hg -R ../cloned states ready # XXX should be put in default config when state support it
   194   $ qlog -R ../cloned
   207   $ qlog -R ../cloned
   195   7
   208   7
   196   - 909a0fb57e5d
   209   - 909a0fb57e5d
   197   4
   210   4
   198   - 725c380fe99b
   211   - 725c380fe99b
   242   1
   255   1
   243   - 7c3bad9141dc
   256   - 7c3bad9141dc
   244   0
   257   0
   245   - 1f0dee641bb7
   258   - 1f0dee641bb7
   246 
   259 
       
   260 obsolete published changeset
       
   261 
       
   262   $ hg up null
       
   263   0 files updated, 0 files merged, 4 files removed, 0 files unresolved
       
   264   $ mkcommit toto # 8
       
   265   created new head
       
   266   $ hg debugobsolete 8 0
       
   267   159dfc9fa5d3 try to obsolete immutable changeset 1f0dee641bb7
       
   268   $ qlog -r 'obsolete()'
       
   269   3
       
   270   - 0d3f46688ccc