tests/test-obsolete.t
branchmercurial-4.4
changeset 4516 f54bb6eaf5e6
parent 4363 a2fdbece7ce1
parent 4513 d70db7e455dc
child 4675 79bc0f1a832e
equal deleted inserted replaced
4514:ef1c322c389d 4516:f54bb6eaf5e6
   119   3
   119   3
   120   - 0d3f46688ccc
   120   - 0d3f46688ccc
   121   4
   121   4
   122   - 725c380fe99b
   122   - 725c380fe99b
   123   $ hg up --hidden 3 -q
   123   $ hg up --hidden 3 -q
   124   updating to a hidden changeset 0d3f46688ccc
       
   125   (hidden revision '0d3f46688ccc' was rewritten as: 725c380fe99b)
       
   126   working directory parent is obsolete! (0d3f46688ccc)
   124   working directory parent is obsolete! (0d3f46688ccc)
   127 (reported by parents too)
   125 (reported by parents too)
   128   $ hg parents
   126   $ hg parents
   129   changeset:   3:0d3f46688ccc
   127   changeset:   3:0d3f46688ccc
   130   parent:      1:7c3bad9141dc
   128   parent:      1:7c3bad9141dc
   134   summary:     add obsol_c
   132   summary:     add obsol_c
   135   
   133   
   136   working directory parent is obsolete! (0d3f46688ccc)
   134   working directory parent is obsolete! (0d3f46688ccc)
   137   (use 'hg evolve' to update to its successor: 725c380fe99b)
   135   (use 'hg evolve' to update to its successor: 725c380fe99b)
   138   $ mkcommit d # 5 (on 3)
   136   $ mkcommit d # 5 (on 3)
   139   1 new orphan changesets
       
   140   $ qlog -r 'obsolete()'
   137   $ qlog -r 'obsolete()'
   141   3
   138   3
   142   - 0d3f46688ccc
   139   - 0d3f46688ccc
   143 
   140 
   144   $ qlog -r 'extinct()' --hidden
   141   $ qlog -r 'extinct()' --hidden
   186   adding changesets
   183   adding changesets
   187   adding manifests
   184   adding manifests
   188   adding file changes
   185   adding file changes
   189   added 5 changesets with 5 changes to 5 files (+1 heads)
   186   added 5 changesets with 5 changes to 5 files (+1 heads)
   190   2 new obsolescence markers
   187   2 new obsolescence markers
   191   1 new orphan changesets
       
   192   $ hg -R ../other-new verify
   188   $ hg -R ../other-new verify
   193   checking changesets
   189   checking changesets
   194   checking manifests
   190   checking manifests
   195   crosschecking files in changesets and manifests
   191   crosschecking files in changesets and manifests
   196   checking files
   192   checking files
   210   0
   206   0
   211   - 1f0dee641bb7
   207   - 1f0dee641bb7
   212   $ hg up --hidden 3 -q
   208   $ hg up --hidden 3 -q
   213   working directory parent is obsolete! (0d3f46688ccc)
   209   working directory parent is obsolete! (0d3f46688ccc)
   214   $ mkcommit obsol_d # 6
   210   $ mkcommit obsol_d # 6
   215   1 new orphan changesets
       
   216   created new head
   211   created new head
   217   $ hg debugobsolete `getid 5` `getid 6`
   212   $ hg debugobsolete `getid 5` `getid 6`
   218   obsoleted 1 changesets
   213   obsoleted 1 changesets
   219   $ qlog
   214   $ qlog
   220   6
   215   6
   269   [1]
   264   [1]
   270 
   265 
   271   $ hg up --hidden -q .^ # 3
   266   $ hg up --hidden -q .^ # 3
   272   working directory parent is obsolete! (0d3f46688ccc)
   267   working directory parent is obsolete! (0d3f46688ccc)
   273   $ mkcommit "obsol_d'" # 7
   268   $ mkcommit "obsol_d'" # 7
   274   1 new orphan changesets
       
   275   created new head
   269   created new head
   276   $ hg debugobsolete `getid 6` `getid 7`
   270   $ hg debugobsolete `getid 6` `getid 7`
   277   obsoleted 1 changesets
   271   obsoleted 1 changesets
   278   $ hg pull -R ../other-new .
   272   $ hg pull -R ../other-new .
   279   pulling from .
   273   pulling from .
   360 Test rollback support
   354 Test rollback support
   361 
   355 
   362   $ hg up --hidden .^ -q # 3
   356   $ hg up --hidden .^ -q # 3
   363   working directory parent is obsolete! (0d3f46688ccc)
   357   working directory parent is obsolete! (0d3f46688ccc)
   364   $ mkcommit "obsol_d''"
   358   $ mkcommit "obsol_d''"
   365   1 new orphan changesets
       
   366   created new head
   359   created new head
   367   $ hg debugobsolete `getid 7` `getid 8`
   360   $ hg debugobsolete `getid 7` `getid 8`
   368   obsoleted 1 changesets
   361   obsoleted 1 changesets
   369   $ cd ../other-new
   362   $ cd ../other-new
   370   $ hg up -q 3
   363   $ hg up -q 3
   426   $ mkcommit toto # 9
   419   $ mkcommit toto # 9
   427   created new head
   420   created new head
   428   $ hg id -n
   421   $ hg id -n
   429   9
   422   9
   430   $ hg debugobsolete `getid 0` `getid 9`
   423   $ hg debugobsolete `getid 0` `getid 9`
   431   1 new phase-divergent changesets
       
   432 83b5778897ad try to obsolete immutable changeset 1f0dee641bb7
   424 83b5778897ad try to obsolete immutable changeset 1f0dee641bb7
   433 # at core level the warning is not issued
   425 # at core level the warning is not issued
   434 # this is now a big issue now that we have phase divergence warning
   426 # this is now a big issue now that we have phase divergence warning
   435   $ qlog -r 'obsolete()'
   427   $ qlog -r 'obsolete()'
   436   3
   428   3
   486   $ hg up null -q # to be not based on 9 anymore
   478   $ hg up null -q # to be not based on 9 anymore
   487 
   479 
   488 check rebase compat
   480 check rebase compat
   489 
   481 
   490   $ hg log -G  --template='{rev} - {node|short} {desc}\n'
   482   $ hg log -G  --template='{rev} - {node|short} {desc}\n'
   491   *  8 - 159dfc9fa5d3 add obsol_d''
   483   o  8 - 159dfc9fa5d3 add obsol_d''
   492   |
   484   |
   493   | o  4 - 725c380fe99b add obsol_c'
   485   | o  4 - 725c380fe99b add obsol_c'
   494   | |
   486   | |
   495   x |  3 - 0d3f46688ccc add obsol_c
   487   x |  3 - 0d3f46688ccc add obsol_c
   496   |/
   488   |/
   500   
   492   
   501 
   493 
   502   $ hg log -G  --template='{rev} - {node|short} {desc}\n' --hidden
   494   $ hg log -G  --template='{rev} - {node|short} {desc}\n' --hidden
   503   x  9 - 83b5778897ad add toto
   495   x  9 - 83b5778897ad add toto
   504   
   496   
   505   *  8 - 159dfc9fa5d3 add obsol_d''
   497   o  8 - 159dfc9fa5d3 add obsol_d''
   506   |
   498   |
   507   | x  7 - 909a0fb57e5d add obsol_d'
   499   | x  7 - 909a0fb57e5d add obsol_d'
   508   |/
   500   |/
   509   | x  6 - 95de7fc6918d add obsol_d
   501   | x  6 - 95de7fc6918d add obsol_d
   510   |/
   502   |/
   525 
   517 
   526 #excluded 'whole rebase set is extinct and ignored.' message not in core
   518 #excluded 'whole rebase set is extinct and ignored.' message not in core
   527   $ hg rebase -b '3' -d 4 --traceback --config experimental.rebaseskipobsolete=0
   519   $ hg rebase -b '3' -d 4 --traceback --config experimental.rebaseskipobsolete=0
   528   rebasing 3:0d3f46688ccc "add obsol_c"
   520   rebasing 3:0d3f46688ccc "add obsol_c"
   529   rebasing 8:159dfc9fa5d3 "add obsol_d''"
   521   rebasing 8:159dfc9fa5d3 "add obsol_d''"
   530   2 new content-divergent changesets
       
   531   $ hg --hidden log -q -r 'successors(3)'
   522   $ hg --hidden log -q -r 'successors(3)'
   532   4:725c380fe99b
   523   4:725c380fe99b
   533   10:2033b4e49474
   524   10:2033b4e49474
   534   $ hg up tip
   525   $ hg up tip
   535   ? files updated, 0 files merged, 0 files removed, 0 files unresolved (glob)
   526   ? files updated, 0 files merged, 0 files removed, 0 files unresolved (glob)
   536   $ hg log -G --template='{rev} - {node|short} {desc}\n'
   527   $ hg log -G --template='{rev} - {node|short} {desc}\n'
   537   @  11 - 9468a5f5d8b2 add obsol_d''
   528   @  11 - 9468a5f5d8b2 add obsol_d''
   538   |
   529   |
   539   *  10 - 2033b4e49474 add obsol_c
   530   o  10 - 2033b4e49474 add obsol_c
   540   |
   531   |
   541   *  4 - 725c380fe99b add obsol_c'
   532   o  4 - 725c380fe99b add obsol_c'
   542   |
   533   |
   543   o  1 - 7c3bad9141dc add b
   534   o  1 - 7c3bad9141dc add b
   544   |
   535   |
   545   o  0 - 1f0dee641bb7 add a
   536   o  0 - 1f0dee641bb7 add a
   546   
   537   
   555   adding manifests
   546   adding manifests
   556   adding file changes
   547   adding file changes
   557   added 2 changesets with 1 changes to [12] files (re)
   548   added 2 changesets with 1 changes to [12] files (re)
   558   3 new obsolescence markers
   549   3 new obsolescence markers
   559   obsoleted 1 changesets
   550   obsoleted 1 changesets
   560   2 new content-divergent changesets
       
   561   $ hg up -q 10
   551   $ hg up -q 10
   562   $ mkcommit "obsol_d'''"
   552   $ mkcommit "obsol_d'''"
   563   created new head
   553   created new head
   564   $ hg debugobsolete `getid 11` `getid 12`
   554   $ hg debugobsolete `getid 11` `getid 12`
   565   obsoleted 1 changesets
   555   obsoleted 1 changesets
   577 check phase divergence detection
   567 check phase divergence detection
   578 (make an obsolete changeset public)
   568 (make an obsolete changeset public)
   579 
   569 
   580   $ cd local
   570   $ cd local
   581   $ hg phase --hidden --public 11
   571   $ hg phase --hidden --public 11
   582   1 new phase-divergent changesets
       
   583   $ hg log -G --template='{rev} - ({phase}) {node|short} {desc}\n'
   572   $ hg log -G --template='{rev} - ({phase}) {node|short} {desc}\n'
   584   @  12 - (draft) 6db5e282cb91 add obsol_d'''
   573   @  12 - (draft) 6db5e282cb91 add obsol_d'''
   585   |
   574   |
   586   | o  11 - (public) 9468a5f5d8b2 add obsol_d''
   575   | o  11 - (public) 9468a5f5d8b2 add obsol_d''
   587   |/
   576   |/
   623   |  parent:      10:2033b4e49474
   612   |  parent:      10:2033b4e49474
   624   |  user:        test
   613   |  user:        test
   625   |  date:        Thu Jan 01 00:00:00 1970 +0000
   614   |  date:        Thu Jan 01 00:00:00 1970 +0000
   626   |  summary:     add f
   615   |  summary:     add f
   627   |
   616   |
   628   | *  changeset:   12:6db5e282cb91
   617   | o  changeset:   12:6db5e282cb91
   629   |/   parent:      10:2033b4e49474
   618   |/   parent:      10:2033b4e49474
   630   |    user:        test
   619   |    user:        test
   631   |    date:        Thu Jan 01 00:00:00 1970 +0000
   620   |    date:        Thu Jan 01 00:00:00 1970 +0000
   632   |    instability: phase-divergent
   621   |    instability: phase-divergent
   633   |    summary:     add obsol_d'''
   622   |    summary:     add obsol_d'''
   686   commit: (clean)
   675   commit: (clean)
   687   update: (2|9|11) new changesets, (3|9|10) branch heads \(merge\) (re)
   676   update: (2|9|11) new changesets, (3|9|10) branch heads \(merge\) (re)
   688   phases: 3 draft
   677   phases: 3 draft
   689   phase-divergent: 1 changesets
   678   phase-divergent: 1 changesets
   690   $ hg debugobsolete `getid a7a6f2b5d8a5` `getid 50f11e5e3a63`
   679   $ hg debugobsolete `getid a7a6f2b5d8a5` `getid 50f11e5e3a63`
   691   2 new content-divergent changesets
       
   692   $ hg log -r 'contentdivergent()'
   680   $ hg log -r 'contentdivergent()'
   693   changeset:   12:6db5e282cb91
   681   changeset:   12:6db5e282cb91
   694   parent:      10:2033b4e49474
   682   parent:      10:2033b4e49474
   695   user:        test
   683   user:        test
   696   date:        Thu Jan 01 00:00:00 1970 +0000
   684   date:        Thu Jan 01 00:00:00 1970 +0000
   705   instability: content-divergent
   693   instability: content-divergent
   706   summary:     add obsolet_conflicting_d
   694   summary:     add obsolet_conflicting_d
   707   
   695   
   708 
   696 
   709   $ hg up --hidden 3 -q
   697   $ hg up --hidden 3 -q
   710   updating to a hidden changeset 0d3f46688ccc
       
   711   (hidden revision '0d3f46688ccc' has diverged)
       
   712   working directory parent is obsolete! (0d3f46688ccc)
   698   working directory parent is obsolete! (0d3f46688ccc)
   713   $ hg evolve
   699   $ hg evolve
   714   parent is obsolete with multiple successors:
   700   parent is obsolete with multiple successors:
   715   [4] add obsol_c'
   701   [4] add obsol_c'
   716   [10] add obsol_c
   702   [10] add obsol_c
   725   
   711   
   726 
   712 
   727 Check import reports new unstable changeset:
   713 Check import reports new unstable changeset:
   728 
   714 
   729   $ hg up --hidden 2
   715   $ hg up --hidden 2
   730   updating to a hidden changeset 4538525df7e2
       
   731   (hidden revision '4538525df7e2' has diverged)
       
   732   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
   716   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
   733   working directory parent is obsolete! (4538525df7e2)
   717   working directory parent is obsolete! (4538525df7e2)
   734   (4538525df7e2 has diverged, use 'hg evolve --list --content-divergent' to resolve the issue)
   718   (4538525df7e2 has diverged, use 'hg evolve --list --content-divergent' to resolve the issue)
   735   $ hg export 9468a5f5d8b2 | hg import -
   719   $ hg export 9468a5f5d8b2 | hg import -
   736   applying patch from stdin
   720   applying patch from stdin
   737   1 new orphan changesets
       
   738 
   721 
   739 
   722 
   740 Relevant marker computation
   723 Relevant marker computation
   741 ==============================
   724 ==============================
   742 
   725 
   747   |  user:        test
   730   |  user:        test
   748   |  date:        Thu Jan 01 00:00:00 1970 +0000
   731   |  date:        Thu Jan 01 00:00:00 1970 +0000
   749   |  instability: orphan
   732   |  instability: orphan
   750   |  summary:     add obsol_d''
   733   |  summary:     add obsol_d''
   751   |
   734   |
   752   | *  changeset:   15:50f11e5e3a63
   735   | o  changeset:   15:50f11e5e3a63
   753   | |  parent:      11:9468a5f5d8b2
   736   | |  parent:      11:9468a5f5d8b2
   754   | |  user:        test
   737   | |  user:        test
   755   | |  date:        Thu Jan 01 00:00:00 1970 +0000
   738   | |  date:        Thu Jan 01 00:00:00 1970 +0000
   756   | |  instability: content-divergent
   739   | |  instability: content-divergent
   757   | |  summary:     add obsolet_conflicting_d
   740   | |  summary:     add obsolet_conflicting_d
   767   | | |    user:        test
   750   | | |    user:        test
   768   | | |    date:        Thu Jan 01 00:00:00 1970 +0000
   751   | | |    date:        Thu Jan 01 00:00:00 1970 +0000
   769   | | |    obsolete:    amended using amend as 14:705ab2a6b72e
   752   | | |    obsolete:    amended using amend as 14:705ab2a6b72e
   770   | | |    summary:     add f
   753   | | |    summary:     add f
   771   | | |
   754   | | |
   772   | | | *  changeset:   12:6db5e282cb91
   755   | | | o  changeset:   12:6db5e282cb91
   773   | | |/   parent:      10:2033b4e49474
   756   | | |/   parent:      10:2033b4e49474
   774   | | |    user:        test
   757   | | |    user:        test
   775   | | |    date:        Thu Jan 01 00:00:00 1970 +0000
   758   | | |    date:        Thu Jan 01 00:00:00 1970 +0000
   776   | | |    instability: phase-divergent, content-divergent
   759   | | |    instability: phase-divergent, content-divergent
   777   | | |    summary:     add obsol_d'''
   760   | | |    summary:     add obsol_d'''