tests/test-evolve.t
branchmercurial-4.3
changeset 3715 a77fb9669e99
parent 3591 98941c28f3e2
parent 3714 19ec729f3ca2
child 3716 e5ba6531503e
equal deleted inserted replaced
3714:19ec729f3ca2 3715:a77fb9669e99
   325 
   325 
   326 This results in a new single changeset for our amended changeset, and the old
   326 This results in a new single changeset for our amended changeset, and the old
   327 changeset plus the updating changeset are hidden from view by default::
   327 changeset plus the updating changeset are hidden from view by default::
   328 
   328 
   329   $ hg log
   329   $ hg log
   330   3	feature-B: another feature (child of 568a468b60fc) - test
   330   4	feature-B: another feature (child of 568a468b60fc) - test
   331   1	feature-A: a nifty feature - test
   331   1	feature-A: a nifty feature - test
   332   0	: base - test
   332   0	: base - test
   333 
   333 
   334   $ hg up feature-A -q
   334   $ hg up feature-A -q
   335   $ hg bookmark -i feature-A
   335   $ hg bookmark -i feature-A
   342 
   342 
   343 
   343 
   344 (amend of on ancestors)
   344 (amend of on ancestors)
   345 
   345 
   346   $ hg amend
   346   $ hg amend
   347   1 new orphan changesets
   347   1 new unstable changesets
   348   $ hg log
   348   $ hg log
   349   4	feature-A: a nifty feature - test
   349   6	feature-A: a nifty feature - test
   350   3	feature-B: another feature (child of 568a468b60fc) - test
   350   4	feature-B: another feature (child of 568a468b60fc) - test
   351   1	: a nifty feature - test
   351   1	: a nifty feature - test
   352   0	: base - test
   352   0	: base - test
   353   $ hg up -q 0
   353   $ hg up -q 0
   354   $ glog --hidden
   354   $ glog --hidden
   355   o  4:ba0ec09b1bab@default(draft) a nifty feature
   355   o  6:ba0ec09b1bab@default(draft) a nifty feature
   356   |
   356   |
   357   | o  3:6992c59c6b06@default(draft) another feature (child of 568a468b60fc)
   357   | x  5:c296b79833d1@default(draft) temporary amend commit for 568a468b60fc
   358   | |
   358   | |
       
   359   | | o  4:6992c59c6b06@default(draft) another feature (child of 568a468b60fc)
       
   360   | |/
       
   361   | | x  3:c97947cdc7a2@default(draft) temporary amend commit for 73296a82292a
       
   362   | | |
   359   | | x  2:73296a82292a@default(draft) another feature (child of 568a468b60fc)
   363   | | x  2:73296a82292a@default(draft) another feature (child of 568a468b60fc)
   360   | |/
   364   | |/
   361   | x  1:568a468b60fc@default(draft) a nifty feature
   365   | x  1:568a468b60fc@default(draft) a nifty feature
   362   |/
   366   |/
   363   @  0:e55e0562ee93@default(public) base
   367   @  0:e55e0562ee93@default(public) base
   364   
   368   
   365   $ hg debugobsolete
   369   $ hg debugobsolete
   366   73296a82292a76fb8a7061969d2489ec0d84cd5e 6992c59c6b06a1b4a92e24ff884829ae026d018b 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'}
   370   73296a82292a76fb8a7061969d2489ec0d84cd5e 6992c59c6b06a1b4a92e24ff884829ae026d018b 0 (*) {'ef1': '8', 'user': 'test'} (glob)
   367   568a468b60fc99a42d5d4ddbe181caff1eef308d ba0ec09b1babf3489b567853807f452edd46704f 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'}
   371   c97947cdc7a2a11cf78419f5c2c3dd3944ec79e8 0 {73296a82292a76fb8a7061969d2489ec0d84cd5e} (*) {'ef1': '0', 'user': 'test'} (glob)
       
   372   568a468b60fc99a42d5d4ddbe181caff1eef308d ba0ec09b1babf3489b567853807f452edd46704f 0 (*) {'ef1': '8', 'user': 'test'} (glob)
       
   373   c296b79833d1d497f33144786174bf35e04e44a3 0 {568a468b60fc99a42d5d4ddbe181caff1eef308d} (*) {'ef1': '0', 'user': 'test'} (glob)
   368   $ hg evolve
   374   $ hg evolve
   369   move:[3] another feature (child of 568a468b60fc)
   375   move:[4] another feature (child of 568a468b60fc)
   370   atop:[4] a nifty feature
   376   atop:[6] a nifty feature
   371   merging main-file-1
   377   merging main-file-1
   372   working directory is now at 99833d22b0c6
   378   working directory is now at 99833d22b0c6
   373   $ hg log
   379   $ hg log
   374   5	feature-B: another feature (child of ba0ec09b1bab) - test
   380   7	feature-B: another feature (child of ba0ec09b1bab) - test
   375   4	feature-A: a nifty feature - test
   381   6	feature-A: a nifty feature - test
   376   0	: base - test
   382   0	: base - test
   377 
   383 
   378 Test commit -o options
   384 Test commit -o options
   379 
   385 
   380   $ hg up -r "desc('a nifty feature')"
   386   $ hg up -r "desc('a nifty feature')"
   381   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
   387   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
   382   $ hg revert -r "desc('another feature')" --all
   388   $ hg revert -r "desc('another feature')" --all
   383   adding file-from-B
   389   adding file-from-B
   384   reverting main-file-1
   390   reverting main-file-1
   385   $ sed -i'' -e s/Zwei/deux/ main-file-1
   391   $ sed -i'' -e s/Zwei/deux/ main-file-1
   386   $ hg commit -m 'another feature that rox' -o 5
   392   $ hg commit -m 'another feature that rox' -o 7
   387   created new head
   393   created new head
   388   $ hg log
   394   $ hg log
   389   6	feature-B: another feature that rox - test
   395   8	feature-B: another feature that rox - test
   390   4	feature-A: a nifty feature - test
   396   6	feature-A: a nifty feature - test
   391   0	: base - test
   397   0	: base - test
   392 
   398 
   393 phase change turning obsolete changeset public issue a bumped warning
   399 phase change turning obsolete changeset public issue a bumped warning
   394 
   400 
   395   $ hg phase --hidden --public 99833d22b0c6
   401   $ hg phase --hidden --public 99833d22b0c6
   396   1 new phase-divergent changesets
   402   1 new bumped changesets
   397 
   403 
   398 all solving bumped troubled
   404 all solving bumped troubled
   399 
   405 
   400   $ glog
   406   $ hg log -G
   401   @  6:47d52a103155@default(draft) another feature that rox
   407   @  8	feature-B: another feature that rox - test
   402   |
   408   |
   403   | o  5:99833d22b0c6@default(public) another feature (child of ba0ec09b1bab)
   409   | o  7	: another feature (child of ba0ec09b1bab) - test
   404   |/
   410   |/
   405   o  4:ba0ec09b1bab@default(public) a nifty feature
   411   o  6	feature-A: a nifty feature - test
   406   |
   412   |
   407   o  0:e55e0562ee93@default(public) base
   413   o  0	: base - test
   408   
   414   
   409   $ hg evolve --any --traceback --phase-divergent
   415   $ hg evolve --any --traceback --phase-divergent
   410   recreate:[6] another feature that rox
   416   recreate:[8] another feature that rox
   411   atop:[5] another feature (child of ba0ec09b1bab)
   417   atop:[7] another feature (child of ba0ec09b1bab)
   412   computing new diff
   418   computing new diff
   413   committed as aca219761afb
   419   committed as 6707c5e1c49d
   414   working directory is now at aca219761afb
   420   working directory is now at 6707c5e1c49d
   415   $ glog
   421   $ hg log -G
   416   @  7:aca219761afb@default(draft) phase-divergent update to 99833d22b0c6:
   422   @  9	feature-B: bumped update to 99833d22b0c6: - test
   417   |
   423   |
   418   o  5:99833d22b0c6@default(public) another feature (child of ba0ec09b1bab)
   424   o  7	: another feature (child of ba0ec09b1bab) - test
   419   |
   425   |
   420   o  4:ba0ec09b1bab@default(public) a nifty feature
   426   o  6	feature-A: a nifty feature - test
   421   |
   427   |
   422   o  0:e55e0562ee93@default(public) base
   428   o  0	: base - test
   423   
   429   
   424   $ hg diff --hidden -r aca219761afb -r 47d52a103155
   430   $ hg diff --hidden -r 6707c5e1c49d -r 47d52a103155
   425   $ hg diff -r aca219761afb^ -r aca219761afb
   431   $ hg diff -r 6707c5e1c49d^ -r 6707c5e1c49d
   426   diff --git a/main-file-1 b/main-file-1
   432   diff --git a/main-file-1 b/main-file-1
   427   --- a/main-file-1
   433   --- a/main-file-1
   428   +++ b/main-file-1
   434   +++ b/main-file-1
   429   @@ -3,1 +3,1 @@
   435   @@ -3,1 +3,1 @@
   430   -Zwei
   436   -Zwei
   434 test evolve --all
   440 test evolve --all
   435   $ sed -i'' -e s/deux/to/ main-file-1
   441   $ sed -i'' -e s/deux/to/ main-file-1
   436   $ hg commit -m 'dansk 2!'
   442   $ hg commit -m 'dansk 2!'
   437   $ sed -i'' -e s/Three/tre/ main-file-1
   443   $ sed -i'' -e s/Three/tre/ main-file-1
   438   $ hg commit -m 'dansk 3!'
   444   $ hg commit -m 'dansk 3!'
   439   $ hg update aca219761afb
   445   $ hg update 6707c5e1c49d
   440   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   446   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   441   $ sed -i'' -e s/Un/Én/ main-file-1
   447   $ sed -i'' -e s/Un/Én/ main-file-1
   442   $ hg commit --amend -m 'dansk!'
   448   $ hg commit --amend -m 'dansk!'
   443   2 new orphan changesets
   449   2 new unstable changesets
   444 
   450 
   445 (ninja test for the {trouble} template:
   451 (ninja test for the {trouble} template:
   446 
   452 
   447   $ hg log -G --template '{rev} {troubles}\n'
   453   $ hg log -G --template '{rev} {troubles}\n'
   448   @  10
   454   @  13
   449   |
   455   |
   450   | o  9 orphan
   456   | o  11 orphan
   451   | |
   457   | |
   452   | o  8 orphan
   458   | o  10 orphan
   453   | |
   459   | |
   454   | x  7
   460   | x  9
   455   |/
   461   |/
   456   o  5
   462   o  7
   457   |
   463   |
   458   o  4
   464   o  6
   459   |
   465   |
   460   o  0
   466   o  0
   461   
   467   
   462 
   468 
   463 
   469 
   464 (/ninja)
   470 (/ninja)
   465 
   471 
   466   $ hg evolve --all --traceback
   472   $ hg evolve --all --traceback
   467   move:[8] dansk 2!
   473   move:[10] dansk 2!
   468   atop:[10] dansk!
   474   atop:[13] dansk!
   469   merging main-file-1
   475   merging main-file-1
   470   move:[9] dansk 3!
   476   move:[11] dansk 3!
   471   atop:[11] dansk 2!
   477   atop:[14] dansk 2!
   472   merging main-file-1
   478   merging main-file-1
   473   working directory is now at 96abb1319a47
   479   working directory is now at 68557e4f0048
   474   $ hg log -G
   480   $ hg log -G
   475   @  12	: dansk 3! - test
   481   @  15	: dansk 3! - test
   476   |
   482   |
   477   o  11	: dansk 2! - test
   483   o  14	: dansk 2! - test
   478   |
   484   |
   479   o  10	feature-B: dansk! - test
   485   o  13	feature-B: dansk! - test
   480   |
   486   |
   481   o  5	: another feature (child of ba0ec09b1bab) - test
   487   o  7	: another feature (child of ba0ec09b1bab) - test
   482   |
   488   |
   483   o  4	feature-A: a nifty feature - test
   489   o  6	feature-A: a nifty feature - test
   484   |
   490   |
   485   o  0	: base - test
   491   o  0	: base - test
   486   
   492   
   487 
   493 
   488   $ cd ..
   494   $ cd ..
   506   $ hg clone -Ur 0 alpha beta
   512   $ hg clone -Ur 0 alpha beta
   507   adding changesets
   513   adding changesets
   508   adding manifests
   514   adding manifests
   509   adding file changes
   515   adding file changes
   510   added 1 changesets with 1 changes to 1 files
   516   added 1 changesets with 1 changes to 1 files
   511   new changesets 702e4d0a6d86
       
   512   $ cd alpha
   517   $ cd alpha
   513 
   518 
   514   $ cat << EOF > A
   519   $ cat << EOF > A
   515   > We
   520   > We
   516   > need
   521   > need
   539   $ hg verify
   544   $ hg verify
   540   checking changesets
   545   checking changesets
   541   checking manifests
   546   checking manifests
   542   crosschecking files in changesets and manifests
   547   crosschecking files in changesets and manifests
   543   checking files
   548   checking files
   544   3 files, 3 changesets, 3 total revisions
   549   3 files, 4 changesets, 4 total revisions
   545   $ hg --config extensions.hgext.mq= strip 'extinct()'
   550   $ hg --config extensions.hgext.mq= strip 'extinct()'
   546   abort: empty revision set
   551   abort: empty revision set
   547   [255]
   552   [255]
   548 (do some garbare collection)
   553 (do some garbare collection)
   549   $ hg --config extensions.hgext.mq= strip --hidden 'extinct()'  --config devel.strip-obsmarkers=no
   554   $ hg --config extensions.hgext.mq= strip --hidden 'extinct()'  --config devel.strip-obsmarkers=no
   550   saved backup bundle to $TESTTMP/alpha/.hg/strip-backup/e87767087a57-a365b072-backup.hg (glob)
   555   saved backup bundle to $TESTTMP/alpha/.hg/strip-backup/e87767087a57-d7bd82e9-backup.hg (glob)
   551   $ hg verify
   556   $ hg verify
   552   checking changesets
   557   checking changesets
   553   checking manifests
   558   checking manifests
   554   crosschecking files in changesets and manifests
   559   crosschecking files in changesets and manifests
   555   checking files
   560   checking files
   564   searching for changes
   569   searching for changes
   565   adding changesets
   570   adding changesets
   566   adding manifests
   571   adding manifests
   567   adding file changes
   572   adding file changes
   568   added 1 changesets with 1 changes to 1 files
   573   added 1 changesets with 1 changes to 1 files
   569   1 new obsolescence markers
   574   2 new obsolescence markers
   570   new changesets c6dda801837c
       
   571   (run 'hg update' to get a working copy)
   575   (run 'hg update' to get a working copy)
   572   $ hg up
   576   $ hg up
   573   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   577   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   574 
   578 
   575   $ cd ..
   579   $ cd ..
   616   | o  1:73d38bb17fd7@default(draft) add 1
   620   | o  1:73d38bb17fd7@default(draft) add 1
   617   |/
   621   |/
   618   o  0:8685c6d34325@default(draft) add 0
   622   o  0:8685c6d34325@default(draft) add 0
   619   
   623   
   620   $ hg debugobsolete
   624   $ hg debugobsolete
   621   0e84df4912da4c7cad22a3b4fcfd58ddfb7c8ae9 fa455b5098e0ce8c1871edf6369f32be7d8b4d1c 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'grab', 'user': 'test'}
   625   0e84df4912da4c7cad22a3b4fcfd58ddfb7c8ae9 0b9e50c35132ff548ec0065caea6a87e1ebcef32 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   622   db038628b9e56f51a454c0da0c508df247b41748 417185465d2c68e575cff4cd6ed8a4047505ef24 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'prune', 'user': 'test'}
   626   db038628b9e56f51a454c0da0c508df247b41748 acb28cd497b7f8767e01ef70f68697a959573c2d 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   623 
   627 
   624 Test grab --continue
   628 Test grab --continue
   625 
   629 
   626   $ hg up -qC 0
   630   $ hg up -qC 0
   627   $ echo 2 > 1
   631   $ echo 2 > 1
   659   | o  1:73d38bb17fd7@default(draft) add 1
   663   | o  1:73d38bb17fd7@default(draft) add 1
   660   |/
   664   |/
   661   o  0:8685c6d34325@default(draft) add 0
   665   o  0:8685c6d34325@default(draft) add 0
   662   
   666   
   663   $ hg debugobsolete
   667   $ hg debugobsolete
   664   0e84df4912da4c7cad22a3b4fcfd58ddfb7c8ae9 fa455b5098e0ce8c1871edf6369f32be7d8b4d1c 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'grab', 'user': 'test'}
   668   0e84df4912da4c7cad22a3b4fcfd58ddfb7c8ae9 0b9e50c35132ff548ec0065caea6a87e1ebcef32 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   665   db038628b9e56f51a454c0da0c508df247b41748 417185465d2c68e575cff4cd6ed8a4047505ef24 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'prune', 'user': 'test'}
   669   db038628b9e56f51a454c0da0c508df247b41748 acb28cd497b7f8767e01ef70f68697a959573c2d 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   666   a5bfd90a2f29c7ccb8f917ff4e5013a9053d0a04 fb2c0f0a0c54be4367988521bad2cbd33a540969 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '12', 'operation': 'grab', 'user': 'test'}
   670   a5bfd90a2f29c7ccb8f917ff4e5013a9053d0a04 920e58bb443b73eea9d6d65570b4241051ea3229 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   667 
   671 
   668 Test touch
   672 Test touch
   669 
   673 
   670   $ glog
   674   $ glog
   671   @  8:fb2c0f0a0c54@default(draft) conflict
   675   @  8:fb2c0f0a0c54@default(draft) conflict
   763 Test olog
   767 Test olog
   764 
   768 
   765   $ hg olog | head -n 10 # hg touch makes the output unstable (fix it with devel option for more stable touch)
   769   $ hg olog | head -n 10 # hg touch makes the output unstable (fix it with devel option for more stable touch)
   766   @    d26d339c513f (12) add 4
   770   @    d26d339c513f (12) add 4
   767   |\
   771   |\
   768   x |  ce341209337f (4) add 4
   772   x |    af636757ce3b (11) add 3
   769    /     rewritten(description, user, content) as d26d339c513f using fold by test (Thu Jan 01 00:00:00 1970 +0000)
   773   |\ \     rewritten as d26d339c513f by test (Thu Jan 01 00:00:00 1970 +0000)
   770   |
   774   | | |
   771   x    cf0c3904643c (11) add 3
   775   | \ \
   772   |\     rewritten(description, user, parent, content) as d26d339c513f using fold by test (Thu Jan 01 00:00:00 1970 +0000)
   776   | |\ \
   773   | |
   777   | | | x  ce341209337f (4) add 4
   774   | \
   778   | | |      rewritten as d26d339c513f by test (Thu Jan 01 00:00:00 1970 +0000)
   775   | |\
   779   | | |
   776 
   780 
   777 Test obsstore stat
   781 Test obsstore stat
   778 
   782 
   779   $ hg debugobsstorestat
   783   $ hg debugobsstorestat
   780   markers total:                     10
   784   markers total:                     10
   783   markers with no successors:         0
   787   markers with no successors:         0
   784                 1 successors:        10
   788                 1 successors:        10
   785                 2 successors:         0
   789                 2 successors:         0
   786       more than 2 successors:         0
   790       more than 2 successors:         0
   787       available  keys:
   791       available  keys:
   788                   ef1:               10
       
   789             operation:               10
       
   790                  user:               10
   792                  user:               10
   791   marker size:
   793   marker size:
   792       format v1:
   794       format v1:
   793           smallest length:           90
       
   794           longer length:             92
       
   795           median length:             91
       
   796           mean length:               90
       
   797       format v0:
       
   798           smallest length:           * (glob)
   795           smallest length:           * (glob)
   799           longer length:             * (glob)
   796           longer length:             * (glob)
   800           median length:             * (glob)
   797           median length:             * (glob)
   801           mean length:               * (glob)
   798           mean length:               * (glob)
       
   799       format v0:
       
   800           smallest length:           66
       
   801           longer length:             66
       
   802           median length:             66
       
   803           mean length:               66
   802   disconnected clusters:              1
   804   disconnected clusters:              1
   803           any known node:             1
   805           any known node:             1
   804           smallest length:           10
   806           smallest length:           10
   805           longer length:             10
   807           longer length:             10
   806           median length:             10
   808           median length:             10
   826   adding b
   828   adding b
   827   $ hg mv a c
   829   $ hg mv a c
   828   $ hg ci -m c
   830   $ hg ci -m c
   829   $ hg prune .^
   831   $ hg prune .^
   830   1 changesets pruned
   832   1 changesets pruned
   831   1 new orphan changesets
   833   1 new unstable changesets
   832   $ hg stab --any
   834   $ hg stab --any
   833   move:[15] c
   835   move:[15] c
   834   atop:[13] a
   836   atop:[13] a
   835   working directory is now at 3742bde73477
   837   working directory is now at 3742bde73477
   836   $ hg st -C --change=tip
   838   $ hg st -C --change=tip
   843   $ cd ../work
   845   $ cd ../work
   844   $ hg fold --from .^ --message "Folding with custom commit message"
   846   $ hg fold --from .^ --message "Folding with custom commit message"
   845   2 changesets folded
   847   2 changesets folded
   846   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   848   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   847   $ glog
   849   $ glog
   848   @  13:284c0d45770d@default(draft) Folding with custom commit message
   850   @  16:98cb758db56d@default(draft) Folding with custom commit message
   849   |
   851   |
   850   o  10:9975c016fe7b@default(draft) dansk!
   852   o  13:0a2f9b959bb4@default(draft) dansk!
   851   |
   853   |
   852   o  5:99833d22b0c6@default(public) another feature (child of ba0ec09b1bab)
   854   o  7:99833d22b0c6@default(public) another feature (child of ba0ec09b1bab)
   853   |
   855   |
   854   o  4:ba0ec09b1bab@default(public) a nifty feature
   856   o  6:ba0ec09b1bab@default(public) a nifty feature
   855   |
   857   |
   856   o  0:e55e0562ee93@default(public) base
   858   o  0:e55e0562ee93@default(public) base
   857   
   859   
   858   $ cat > commit-message <<EOF
   860   $ cat > commit-message <<EOF
   859   > A longer
   861   > A longer
   862 
   864 
   863   $ hg fold --from .^ --logfile commit-message
   865   $ hg fold --from .^ --logfile commit-message
   864   2 changesets folded
   866   2 changesets folded
   865   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   867   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   866   $ hg qlog
   868   $ hg qlog
   867   14 - 8693d0f277b8 A longer
   869   17 - a00182c58888 A longer
   868                     commit message (draft)
   870                     commit message (draft)
   869   5 - 99833d22b0c6 another feature (child of ba0ec09b1bab) (public)
   871   7 - 99833d22b0c6 another feature (child of ba0ec09b1bab) (public)
   870   4 - ba0ec09b1bab a nifty feature (public)
   872   6 - ba0ec09b1bab a nifty feature (public)
   871   0 - e55e0562ee93 base (public)
   873   0 - e55e0562ee93 base (public)
   872 
   874 
   873   $ cd ..
   875   $ cd ..
   874 
   876 
   875 Test branch preservation:
   877 Test branch preservation:
   903   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   905   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   904   $ hg branch mybranch
   906   $ hg branch mybranch
   905   marked working directory as branch mybranch
   907   marked working directory as branch mybranch
   906   (branches are permanent and global, did you want a bookmark?)
   908   (branches are permanent and global, did you want a bookmark?)
   907   $ hg amend
   909   $ hg amend
   908   1 new orphan changesets
   910   1 new unstable changesets
   909 
   911 
   910   $ hg evolve
   912   $ hg evolve
   911   move:[3] a3
   913   move:[3] a3
   912   atop:[4] a2
   914   atop:[5] a2
   913   working directory is now at 7c5649f73d11
   915   working directory is now at 7c5649f73d11
   914 
   916 
   915   $ hg log -G --template '{rev} [{branch}] {desc|firstline}\n'
   917   $ hg log -G --template '{rev} [{branch}] {desc|firstline}\n'
   916   @  5 [mybranch] a3
   918   @  6 [mybranch] a3
   917   |
   919   |
   918   o  4 [mybranch] a2
   920   o  5 [mybranch] a2
   919   |
   921   |
   920   o  1 [default] a1
   922   o  1 [default] a1
   921   |
   923   |
   922   o  0 [default] a0
   924   o  0 [default] a0
   923   
   925   
   925 branch change preserved
   927 branch change preserved
   926 
   928 
   927   $ hg up 'desc(a1)'
   929   $ hg up 'desc(a1)'
   928   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   930   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   929   $ hg amend -m 'a1_'
   931   $ hg amend -m 'a1_'
   930   2 new orphan changesets
   932   2 new unstable changesets
   931   $ hg evolve
   933   $ hg evolve
   932   move:[4] a2
   934   move:[5] a2
   933   atop:[6] a1_
   935   atop:[7] a1_
   934   working directory is now at eb07e22a0e63
   936   working directory is now at eb07e22a0e63
   935   $ hg evolve
   937   $ hg evolve
   936   move:[5] a3
   938   move:[6] a3
   937   atop:[7] a2
   939   atop:[8] a2
   938   working directory is now at 777c26ca5e78
   940   working directory is now at 777c26ca5e78
   939   $ hg log -G --template '{rev} [{branch}] {desc|firstline}\n'
   941   $ hg log -G --template '{rev} [{branch}] {desc|firstline}\n'
   940   @  8 [mybranch] a3
   942   @  9 [mybranch] a3
   941   |
   943   |
   942   o  7 [mybranch] a2
   944   o  8 [mybranch] a2
   943   |
   945   |
   944   o  6 [default] a1_
   946   o  7 [default] a1_
   945   |
   947   |
   946   o  0 [default] a0
   948   o  0 [default] a0
   947   
   949   
   948 
   950 
   949 Evolve from the middle of a stack pick the right changesets.
   951 Evolve from the middle of a stack pick the right changesets.
   950 
   952 
   951   $ hg up -r "desc('a1_')"
   953   $ hg up -r "desc('a1_')"
   952   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   954   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   953   $ hg ci --amend -m 'a1__'
   955   $ hg ci --amend -m 'a1__'
   954   2 new orphan changesets
   956   2 new unstable changesets
   955 
   957 
   956   $ hg up -r "desc('a2')"
   958   $ hg up -r "desc('a2')"
   957   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   959   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   958   $ hg log -G --template '{rev} [{branch}] {desc|firstline}\n'
   960   $ hg log -G --template '{rev} [{branch}] {desc|firstline}\n'
   959   o  9 [default] a1__
   961   o  10 [default] a1__
   960   |
   962   |
   961   | o  8 [mybranch] a3
   963   | o  9 [mybranch] a3
   962   | |
   964   | |
   963   | @  7 [mybranch] a2
   965   | @  8 [mybranch] a2
   964   | |
   966   | |
   965   | x  6 [default] a1_
   967   | x  7 [default] a1_
   966   |/
   968   |/
   967   o  0 [default] a0
   969   o  0 [default] a0
   968   
   970   
   969   $ hg evolve
   971   $ hg evolve
   970   nothing to evolve on current working copy parent
   972   nothing to evolve on current working copy parent
   979   $ hg bookmark testbookmark
   981   $ hg bookmark testbookmark
   980   $ ls .hg/bookmarks*
   982   $ ls .hg/bookmarks*
   981   .hg/bookmarks
   983   .hg/bookmarks
   982   .hg/bookmarks.* (glob)
   984   .hg/bookmarks.* (glob)
   983   $ hg evolve
   985   $ hg evolve
   984   move:[7] a2
   986   move:[8] a2
   985   atop:[9] a1__
   987   atop:[10] a1__
   986   (leaving bookmark testbookmark)
   988   (leaving bookmark testbookmark)
   987   working directory is now at d952e93add6f
   989   working directory is now at d952e93add6f
   988   $ ls .hg/bookmarks*
   990   $ ls .hg/bookmarks*
   989   .hg/bookmarks
   991   .hg/bookmarks
   990   $ glog
   992   $ glog
   991   @  10:d952e93add6f@mybranch(draft) a2
   993   @  11:d952e93add6f@mybranch(draft) a2
   992   |
   994   |
   993   o  9:9f8b83c2e7f3@default(draft) a1__
   995   o  10:9f8b83c2e7f3@default(draft) a1__
   994   |
   996   |
   995   | o  8:777c26ca5e78@mybranch(draft) a3
   997   | o  9:777c26ca5e78@mybranch(draft) a3
   996   | |
   998   | |
   997   | x  7:eb07e22a0e63@mybranch(draft) a2
   999   | x  8:eb07e22a0e63@mybranch(draft) a2
   998   | |
  1000   | |
   999   | x  6:faafc6cea0ba@default(draft) a1_
  1001   | x  7:faafc6cea0ba@default(draft) a1_
  1000   |/
  1002   |/
  1001   o  0:07c1c36d9ef0@default(draft) a0
  1003   o  0:07c1c36d9ef0@default(draft) a0
  1002   
  1004   
  1003 
  1005 
  1004 Possibility to select what trouble to solve first, asking for bumped before
  1006 Possibility to select what trouble to solve first, asking for bumped before
  1006   $ hg up -r "desc('a1__')"
  1008   $ hg up -r "desc('a1__')"
  1007   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  1009   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  1008   $ hg revert -r d952e93add6f --all
  1010   $ hg revert -r d952e93add6f --all
  1009   reverting a
  1011   reverting a
  1010   $ hg log -G --template '{rev} [{branch}] {desc|firstline}\n'
  1012   $ hg log -G --template '{rev} [{branch}] {desc|firstline}\n'
  1011   o  10 [mybranch] a2
  1013   o  11 [mybranch] a2
  1012   |
  1014   |
  1013   @  9 [default] a1__
  1015   @  10 [default] a1__
  1014   |
  1016   |
  1015   | o  8 [mybranch] a3
  1017   | o  9 [mybranch] a3
  1016   | |
  1018   | |
  1017   | x  7 [mybranch] a2
  1019   | x  8 [mybranch] a2
  1018   | |
  1020   | |
  1019   | x  6 [default] a1_
  1021   | x  7 [default] a1_
  1020   |/
  1022   |/
  1021   o  0 [default] a0
  1023   o  0 [default] a0
  1022   
  1024   
  1023   $ echo "hello world" > newfile
  1025   $ echo "hello world" > newfile
  1024   $ hg add newfile
  1026   $ hg add newfile
  1025   $ hg commit -m "add new file bumped" -o 10
  1027   $ hg commit -m "add new file bumped" -o 11
  1026   $ hg phase --public --hidden d952e93add6f
  1028   $ hg phase --public --hidden d952e93add6f
  1027   1 new phase-divergent changesets
  1029   1 new bumped changesets
  1028   $ hg log -G
  1030   $ hg log -G
  1029   @  11	: add new file bumped - test
  1031   @  12	: add new file bumped - test
  1030   |
  1032   |
  1031   | o  10	: a2 - test
  1033   | o  11	: a2 - test
  1032   |/
  1034   |/
  1033   o  9	testbookmark: a1__ - test
  1035   o  10	testbookmark: a1__ - test
  1034   |
  1036   |
  1035   | o  8	: a3 - test
  1037   | o  9	: a3 - test
  1036   | |
  1038   | |
  1037   | x  7	: a2 - test
  1039   | x  8	: a2 - test
  1038   | |
  1040   | |
  1039   | x  6	: a1_ - test
  1041   | x  7	: a1_ - test
  1040   |/
  1042   |/
  1041   o  0	: a0 - test
  1043   o  0	: a0 - test
  1042   
  1044   
  1043 
  1045 
  1044 Now we have a bumped and an unstable changeset, we solve the bumped first
  1046 Now we have a bumped and an unstable changeset, we solve the bumped first
  1045 normally the unstable changeset would be solve first
  1047 normally the unstable changeset would be solve first
  1046 
  1048 
  1047   $ hg log -G
  1049   $ hg log -G
  1048   @  11	: add new file bumped - test
  1050   @  12	: add new file bumped - test
  1049   |
  1051   |
  1050   | o  10	: a2 - test
  1052   | o  11	: a2 - test
  1051   |/
  1053   |/
  1052   o  9	testbookmark: a1__ - test
  1054   o  10	testbookmark: a1__ - test
  1053   |
  1055   |
  1054   | o  8	: a3 - test
  1056   | o  9	: a3 - test
  1055   | |
  1057   | |
  1056   | x  7	: a2 - test
  1058   | x  8	: a2 - test
  1057   | |
  1059   | |
  1058   | x  6	: a1_ - test
  1060   | x  7	: a1_ - test
  1059   |/
  1061   |/
  1060   o  0	: a0 - test
  1062   o  0	: a0 - test
  1061   
  1063   
  1062   $ hg evolve -r "desc('add new file bumped')" --phase-divergent
  1064   $ hg evolve -r "desc('add new file bumped')" --phase-divergent
  1063   recreate:[11] add new file bumped
  1065   recreate:[12] add new file bumped
  1064   atop:[10] a2
  1066   atop:[11] a2
  1065   computing new diff
  1067   computing new diff
  1066   committed as a8bb31d4b7f2
  1068   committed as f15d32934071
  1067   working directory is now at a8bb31d4b7f2
  1069   working directory is now at f15d32934071
  1068   $ hg evolve --any
  1070   $ hg evolve --any
  1069   move:[8] a3
  1071   move:[9] a3
  1070   atop:[12] phase-divergent update to d952e93add6f:
  1072   atop:[13] bumped update to d952e93add6f:
  1071   working directory is now at b88539ad24d7
  1073   working directory is now at cce26b684bfe
  1072   $ glog
       
  1073   @  13:b88539ad24d7@default(draft) a3
       
  1074   |
       
  1075   o  12:a8bb31d4b7f2@default(draft) phase-divergent update to d952e93add6f:
       
  1076   |
       
  1077   o  10:d952e93add6f@mybranch(public) a2
       
  1078   |
       
  1079   o  9:9f8b83c2e7f3@default(public) a1__
       
  1080   |
       
  1081   o  0:07c1c36d9ef0@default(public) a0
       
  1082   
       
  1083 
       
  1084 Check that we can resolve troubles in a revset with more than one commit
  1074 Check that we can resolve troubles in a revset with more than one commit
  1085   $ hg up b88539ad24d7 -C
  1075   $ hg up cce26b684bfe -C
  1086   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
  1076   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
  1087   $ mkcommit gg
  1077   $ mkcommit gg
  1088   $ hg up b88539ad24d7
  1078   $ hg up cce26b684bfe
  1089   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
  1079   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
  1090   $ mkcommit gh
  1080   $ mkcommit gh
  1091   created new head
  1081   created new head
  1092   $ hg up b88539ad24d7
  1082   $ hg up cce26b684bfe
  1093   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
  1083   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
  1094   $ printf "newline\nnewline\n" >> a
  1084   $ printf "newline\nnewline\n" >> a
  1095   $ hg log -G
  1085   $ hg log -G
  1096   o  15	: add gh - test
  1086   o  16	: add gh - test
  1097   |
  1087   |
  1098   | o  14	: add gg - test
  1088   | o  15	: add gg - test
  1099   |/
  1089   |/
  1100   @  13	: a3 - test
  1090   @  14	: a3 - test
  1101   |
  1091   |
  1102   o  12	: phase-divergent update to d952e93add6f: - test
  1092   o  13	: bumped update to d952e93add6f: - test
  1103   |
  1093   |
  1104   o  10	: a2 - test
  1094   o  11	: a2 - test
  1105   |
  1095   |
  1106   o  9	testbookmark: a1__ - test
  1096   o  10	testbookmark: a1__ - test
  1107   |
  1097   |
  1108   o  0	: a0 - test
  1098   o  0	: a0 - test
  1109   
  1099   
  1110   $ hg amend
  1100   $ hg amend
  1111   2 new orphan changesets
  1101   2 new unstable changesets
  1112   $ glog
  1102   $ hg log -G
  1113   @  16:0cf3707e8971@default(draft) a3
  1103   @  18	: a3 - test
  1114   |
  1104   |
  1115   | o  15:daa1ff1c7fbd@default(draft) add gh
  1105   | o  16	: add gh - test
  1116   | |
  1106   | |
  1117   | | o  14:484fb3cfa7f2@default(draft) add gg
  1107   | | o  15	: add gg - test
  1118   | |/
  1108   | |/
  1119   | x  13:b88539ad24d7@default(draft) a3
  1109   | x  14	: a3 - test
  1120   |/
  1110   |/
  1121   o  12:a8bb31d4b7f2@default(draft) phase-divergent update to d952e93add6f:
  1111   o  13	: bumped update to d952e93add6f: - test
  1122   |
  1112   |
  1123   o  10:d952e93add6f@mybranch(public) a2
  1113   o  11	: a2 - test
  1124   |
  1114   |
  1125   o  9:9f8b83c2e7f3@default(public) a1__
  1115   o  10	testbookmark: a1__ - test
  1126   |
  1116   |
  1127   o  0:07c1c36d9ef0@default(public) a0
  1117   o  0	: a0 - test
  1128   
  1118   
  1129 
  1119 
  1130 Evolving an empty revset should do nothing
  1120 Evolving an empty revset should do nothing
  1131   $ hg evolve --rev "daa1ff1c7fbd and 484fb3cfa7f2"
  1121   $ hg evolve --rev "beb41503aa3e and 27247fcb2df6"
  1132   set of specified revisions is empty
  1122   set of specified revisions is empty
  1133   [1]
  1123   [1]
  1134 
  1124 
  1135   $ hg evolve --rev "b88539ad24d7::" --phase-divergent
  1125   $ hg evolve --rev "cce26b684bfe::" --phase-divergent
  1136   no phasedivergent changesets in specified revisions
  1126   no phasedivergent changesets in specified revisions
  1137   (do you want to use --orphan)
  1127   (do you want to use --orphan)
  1138   [2]
  1128   [2]
  1139   $ hg evolve --rev "b88539ad24d7::" --orphan
  1129   $ hg evolve --rev "cce26b684bfe::" --orphan
  1140   move:[14] add gg
  1130   move:[15] add gg
  1141   atop:[16] a3
  1131   atop:[18] a3
  1142   move:[15] add gh
  1132   move:[16] add gh
  1143   atop:[16] a3
  1133   atop:[18] a3
  1144   working directory is now at 0c049e4e5422
  1134   working directory is now at e02107f98737
  1145   $ glog
  1135   $ hg log -G
  1146   @  18:0c049e4e5422@default(draft) add gh
  1136   @  20	: add gh - test
  1147   |
  1137   |
  1148   | o  17:98e171e2f272@default(draft) add gg
  1138   | o  19	: add gg - test
  1149   |/
  1139   |/
  1150   o  16:0cf3707e8971@default(draft) a3
  1140   o  18	: a3 - test
  1151   |
  1141   |
  1152   o  12:a8bb31d4b7f2@default(draft) phase-divergent update to d952e93add6f:
  1142   o  13	: bumped update to d952e93add6f: - test
  1153   |
  1143   |
  1154   o  10:d952e93add6f@mybranch(public) a2
  1144   o  11	: a2 - test
  1155   |
  1145   |
  1156   o  9:9f8b83c2e7f3@default(public) a1__
  1146   o  10	testbookmark: a1__ - test
  1157   |
  1147   |
  1158   o  0:07c1c36d9ef0@default(public) a0
  1148   o  0	: a0 - test
  1159   
  1149   
  1160 Enabling commands selectively, no command enabled, next and fold and unknown
  1150 Enabling commands selectively, no command enabled, next and fold and unknown
  1161   $ cat >> $HGRCPATH <<EOF
  1151   $ cat >> $HGRCPATH <<EOF
  1162   > [experimental]
  1152   > [experimental]
  1163   > evolution=createmarkers
  1153   > evolution=createmarkers
  1252   [255]
  1242   [255]
  1253 
  1243 
  1254 Shows "use 'hg evolve' to..." hints iff the evolve command is enabled
  1244 Shows "use 'hg evolve' to..." hints iff the evolve command is enabled
  1255 
  1245 
  1256   $ hg --hidden up 14
  1246   $ hg --hidden up 14
  1257   2 files updated, 0 files merged, 1 files removed, 0 files unresolved
  1247   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
  1258   working directory parent is obsolete! (484fb3cfa7f2)
  1248   working directory parent is obsolete! (cce26b684bfe)
  1259   $ cat >> $HGRCPATH <<EOF
  1249   $ cat >> $HGRCPATH <<EOF
  1260   > [experimental]
  1250   > [experimental]
  1261   > evolutioncommands=evolve
  1251   > evolutioncommands=evolve
  1262   > EOF
  1252   > EOF
  1263   $ hg --hidden up 15
  1253   $ hg --hidden up 15
  1264   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
  1254   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  1265   working directory parent is obsolete! (daa1ff1c7fbd)
  1255   working directory parent is obsolete! (27247fcb2df6)
  1266   (use 'hg evolve' to update to its successor: 0c049e4e5422)
  1256   (use 'hg evolve' to update to its successor: 24e63b319adf)
  1267 
  1257 
  1268 Restore all of the evolution features
  1258 Restore all of the evolution features
  1269 
  1259 
  1270   $ cat >> $HGRCPATH <<EOF
  1260   $ cat >> $HGRCPATH <<EOF
  1271   > [experimental]
  1261   > [experimental]
  1272   > evolution=all
  1262   > evolution=all
  1273   > EOF
  1263   > EOF
  1274 
  1264 
  1275 Check hg evolve --rev on singled out commit
  1265 Check hg evolve --rev on singled out commit
  1276   $ hg up 98e171e2f272 -C
  1266   $ hg up 24e63b319adf -C
  1277   2 files updated, 0 files merged, 1 files removed, 0 files unresolved
  1267   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  1278   $ mkcommit j1
  1268   $ mkcommit j1
  1279   $ mkcommit j2
  1269   $ mkcommit j2
  1280   $ mkcommit j3
  1270   $ mkcommit j3
  1281   $ hg up .^^
  1271   $ hg up .^^
  1282   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
  1272   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
  1283   $ echo "hello" > j4
  1273   $ echo "hello" > j4
  1284   $ hg add j4
  1274   $ hg add j4
  1285   $ hg amend
  1275   $ hg amend
  1286   2 new orphan changesets
  1276   2 new unstable changesets
  1287   $ glog -r "0cf3707e8971::"
  1277   $ glog -r "edc3c9de504e::"
  1288   @  22:274b6cd0c101@default(draft) add j1
  1278   @  25:8dc373be86d9@default(draft) add j1
  1289   |
  1279   |
  1290   | o  21:89e4f7e8feb5@default(draft) add j3
  1280   | o  23:d7eadcf6eccd@default(draft) add j3
  1291   | |
  1281   | |
  1292   | o  20:4cd61236beca@default(draft) add j2
  1282   | o  22:2223ea564144@default(draft) add j2
  1293   | |
  1283   | |
  1294   | x  19:0fd8bfb02de4@default(draft) add j1
  1284   | x  21:48490698b269@default(draft) add j1
  1295   |/
  1285   |/
  1296   | o  18:0c049e4e5422@default(draft) add gh
  1286   | o  20:e02107f98737@default(draft) add gh
  1297   | |
  1287   | |
  1298   o |  17:98e171e2f272@default(draft) add gg
  1288   o |  19:24e63b319adf@default(draft) add gg
  1299   |/
  1289   |/
  1300   o  16:0cf3707e8971@default(draft) a3
  1290   o  18:edc3c9de504e@default(draft) a3
  1301   |
  1291   |
  1302   ~
  1292   ~
  1303 
  1293 
  1304   $ hg evolve --rev 89e4f7e8feb5 --any
  1294   $ hg evolve --rev d7eadcf6eccd --any
  1305   abort: cannot specify both "--rev" and "--any"
  1295   abort: cannot specify both "--rev" and "--any"
  1306   [255]
  1296   [255]
  1307   $ hg evolve --rev 89e4f7e8feb5
  1297   $ hg evolve --rev d7eadcf6eccd
  1308   cannot solve instability of 89e4f7e8feb5, skipping
  1298   cannot solve instability of d7eadcf6eccd, skipping
  1309 
  1299 
  1310 Check that uncommit respects the allowunstable option
  1300 Check that uncommit respects the allowunstable option
  1311 With only createmarkers we can only uncommit on a head
  1301 With only createmarkers we can only uncommit on a head
  1312   $ cat >> $HGRCPATH <<EOF
  1302   $ cat >> $HGRCPATH <<EOF
  1313   > [experimental]
  1303   > [experimental]
  1314   > evolution=createmarkers, allnewcommands
  1304   > evolution=createmarkers, allnewcommands
  1315   > EOF
  1305   > EOF
  1316   $ hg up 274b6cd0c101^
  1306   $ hg up 8dc373be86d9^
  1317   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
  1307   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
  1318   $ hg uncommit --all
  1308   $ hg uncommit --all
  1319   abort: uncommit will orphan 4 descendants
  1309   abort: uncommit will orphan 4 descendants
  1320   (see 'hg help evolution.instability')
  1310   (see 'hg help evolution.instability')
  1321   [255]
  1311   [255]
  1322   $ hg up 274b6cd0c101
  1312   $ hg up 8dc373be86d9
  1323   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
  1313   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
  1324   $ hg uncommit --all
  1314   $ hg uncommit --all
  1325   new changeset is empty
  1315   new changeset is empty
  1326   (use 'hg prune .' to remove it)
  1316   (use 'hg prune .' to remove it)
  1327   $ glog -r "0cf3707e8971::"
  1317   $ glog -r "edc3c9de504e::"
  1328   @  23:0ef9ff75f8e2@default(draft) add j1
  1318   @  26:044804d0c10d@default(draft) add j1
  1329   |
  1319   |
  1330   | o  21:89e4f7e8feb5@default(draft) add j3
  1320   | o  23:d7eadcf6eccd@default(draft) add j3
  1331   | |
  1321   | |
  1332   | o  20:4cd61236beca@default(draft) add j2
  1322   | o  22:2223ea564144@default(draft) add j2
  1333   | |
  1323   | |
  1334   | x  19:0fd8bfb02de4@default(draft) add j1
  1324   | x  21:48490698b269@default(draft) add j1
  1335   |/
  1325   |/
  1336   | o  18:0c049e4e5422@default(draft) add gh
  1326   | o  20:e02107f98737@default(draft) add gh
  1337   | |
  1327   | |
  1338   o |  17:98e171e2f272@default(draft) add gg
  1328   o |  19:24e63b319adf@default(draft) add gg
  1339   |/
  1329   |/
  1340   o  16:0cf3707e8971@default(draft) a3
  1330   o  18:edc3c9de504e@default(draft) a3
  1341   |
  1331   |
  1342   ~
  1332   ~
  1343 
  1333 
  1344 Check that prune respects the allowunstable option
  1334 Check that prune respects the allowunstable option
  1345   $ hg up -C .
  1335   $ hg up -C .
  1346   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
  1336   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
  1347   $ hg up 0c049e4e5422
  1337   $ hg up e02107f98737
  1348   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
  1338   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
  1349   $ hg evolve --all
  1339   $ hg evolve --all
  1350   nothing to evolve on current working copy parent
  1340   nothing to evolve on current working copy parent
  1351   (2 other orphan in the repository, do you want --any or --rev)
  1341   (2 other orphan in the repository, do you want --any or --rev)
  1352   [2]
  1342   [2]
  1353   $ hg evolve --all --any
  1343   $ hg evolve --all --any
  1354   move:[20] add j2
  1344   move:[22] add j2
  1355   atop:[23] add j1
  1345   atop:[26] add j1
  1356   move:[21] add j3
  1346   move:[23] add j3
  1357   atop:[24] add j2
  1347   atop:[27] add j2
  1358   working directory is now at 0d9203b74542
  1348   working directory is now at c9a20e2d74aa
  1359   $ glog -r "0cf3707e8971::"
  1349   $ glog -r "edc3c9de504e::"
  1360   @  25:0d9203b74542@default(draft) add j3
  1350   @  28:c9a20e2d74aa@default(draft) add j3
  1361   |
  1351   |
  1362   o  24:f1b85956c48c@default(draft) add j2
  1352   o  27:b0e3066231e2@default(draft) add j2
  1363   |
  1353   |
  1364   o  23:0ef9ff75f8e2@default(draft) add j1
  1354   o  26:044804d0c10d@default(draft) add j1
  1365   |
  1355   |
  1366   | o  18:0c049e4e5422@default(draft) add gh
  1356   | o  20:e02107f98737@default(draft) add gh
  1367   | |
  1357   | |
  1368   o |  17:98e171e2f272@default(draft) add gg
  1358   o |  19:24e63b319adf@default(draft) add gg
  1369   |/
  1359   |/
  1370   o  16:0cf3707e8971@default(draft) a3
  1360   o  18:edc3c9de504e@default(draft) a3
  1371   |
  1361   |
  1372   ~
  1362   ~
  1373   $ hg up 98e171e2f272
  1363   $ hg up 19
  1374   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
  1364   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
  1375   $ mkcommit c5_
  1365   $ mkcommit c5_
  1376   created new head
  1366   created new head
  1377   $ hg prune '0ef9ff75f8e2 + f1b85956c48c'
  1367   $ hg prune '044804d0c10d + b0e3066231e2'
  1378   abort: touch will orphan 1 descendants
  1368   abort: touch will orphan 1 descendants
  1379   (see 'hg help evolution.instability')
  1369   (see 'hg help evolution.instability')
  1380   [255]
  1370   [255]
  1381   $ hg prune '98e171e2f272::0d9203b74542'
  1371   $ hg prune '24e63b319adf::c9a20e2d74aa'
  1382   abort: touch will orphan 1 descendants
  1372   abort: touch will orphan 1 descendants
  1383   (see 'hg help evolution.instability')
  1373   (see 'hg help evolution.instability')
  1384   [255]
  1374   [255]
  1385   $ hg prune '0ef9ff75f8e2::'
  1375   $ hg prune '044804d0c10d::'
  1386   3 changesets pruned
  1376   3 changesets pruned
  1387   $ glog -r "0cf3707e8971::"
  1377   $ glog -r "edc3c9de504e::"
  1388   @  26:4c6f6f6d1976@default(draft) add c5_
  1378   @  29:2251801b6c91@default(draft) add c5_
  1389   |
  1379   |
  1390   | o  18:0c049e4e5422@default(draft) add gh
  1380   | o  20:e02107f98737@default(draft) add gh
  1391   | |
  1381   | |
  1392   o |  17:98e171e2f272@default(draft) add gg
  1382   o |  19:24e63b319adf@default(draft) add gg
  1393   |/
  1383   |/
  1394   o  16:0cf3707e8971@default(draft) a3
  1384   o  18:edc3c9de504e@default(draft) a3
  1395   |
  1385   |
  1396   ~
  1386   ~
  1397 
  1387 
  1398 Check that fold respects the allowunstable option
  1388 Check that fold respects the allowunstable option
  1399 
  1389 
  1400 (most of this has been moved to test-fold.t)
  1390 (most of this has been moved to test-fold.t)
  1401 
  1391 
  1402   $ hg up 0cf3707e8971
  1392   $ hg up edc3c9de504e
  1403   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
  1393   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
  1404   $ mkcommit unstableifparentisfolded
  1394   $ mkcommit unstableifparentisfolded
  1405   created new head
  1395   created new head
  1406   $ glog -r "0cf3707e8971::"
  1396   $ glog -r "edc3c9de504e::"
  1407   @  27:2d1b55e10be9@default(draft) add unstableifparentisfolded
  1397   @  30:68330ac625b8@default(draft) add unstableifparentisfolded
  1408   |
  1398   |
  1409   | o  26:4c6f6f6d1976@default(draft) add c5_
  1399   | o  29:2251801b6c91@default(draft) add c5_
  1410   | |
  1400   | |
  1411   +---o  18:0c049e4e5422@default(draft) add gh
  1401   +---o  20:e02107f98737@default(draft) add gh
  1412   | |
  1402   | |
  1413   | o  17:98e171e2f272@default(draft) add gg
  1403   | o  19:24e63b319adf@default(draft) add gg
  1414   |/
  1404   |/
  1415   o  16:0cf3707e8971@default(draft) a3
  1405   o  18:edc3c9de504e@default(draft) a3
  1416   |
  1406   |
  1417   ~
  1407   ~
  1418 
  1408 
  1419   $ hg fold --exact "98e171e2f272::"
  1409   $ hg fold --exact "24e63b319adf::"
  1420   2 changesets folded
  1410   2 changesets folded
  1421 
  1411 
  1422 Check that evolve shows error while handling split commits
  1412 Check that evolve shows error while handling split commits
  1423 --------------------------------------
  1413 --------------------------------------
  1424 
  1414 
  1425   $ cat >> $HGRCPATH <<EOF
  1415   $ cat >> $HGRCPATH <<EOF
  1426   > [experimental]
  1416   > [experimental]
  1427   > evolution=all
  1417   > evolution=all
  1428   > EOF
  1418   > EOF
  1429 
  1419 
  1430   $ glog -r "0cf3707e8971::"
  1420   $ glog -r "edc3c9de504e::"
  1431   o  28:92ca6f3984de@default(draft) add gg
  1421   o  31:580886d07058@default(draft) add gg
  1432   |
  1422   |
  1433   | @  27:2d1b55e10be9@default(draft) add unstableifparentisfolded
  1423   | @  30:68330ac625b8@default(draft) add unstableifparentisfolded
  1434   |/
  1424   |/
  1435   | o  18:0c049e4e5422@default(draft) add gh
  1425   | o  20:e02107f98737@default(draft) add gh
  1436   |/
  1426   |/
  1437   o  16:0cf3707e8971@default(draft) a3
  1427   o  18:edc3c9de504e@default(draft) a3
  1438   |
  1428   |
  1439   ~
  1429   ~
  1440 
  1430 
  1441 Create a split commit
  1431 Create a split commit
  1442   $ printf "oo" > oo;
  1432   $ printf "oo" > oo;
  1443   $ printf "pp" > pp;
  1433   $ printf "pp" > pp;
  1444   $ hg add oo pp
  1434   $ hg add oo pp
  1445   $ hg commit -m "oo+pp"
  1435   $ hg commit -m "oo+pp"
  1446   $ mkcommit uu
  1436   $ mkcommit uu
  1447   $ hg up 2d1b55e10be9
  1437   $ hg up 68330ac625b8
  1448   0 files updated, 0 files merged, 3 files removed, 0 files unresolved
  1438   0 files updated, 0 files merged, 3 files removed, 0 files unresolved
  1449   $ printf "oo" > oo;
  1439   $ printf "oo" > oo;
  1450   $ hg add oo
  1440   $ hg add oo
  1451   $ hg commit -m "_oo"
  1441   $ hg commit -m "_oo"
  1452   created new head
  1442   created new head
  1453   $ printf "pp" > pp;
  1443   $ printf "pp" > pp;
  1454   $ hg add pp
  1444   $ hg add pp
  1455   $ hg commit -m "_pp"
  1445   $ hg commit -m "_pp"
  1456   $ hg prune --succ "desc(_oo) + desc(_pp)" -r "desc('oo+pp')" --split
  1446   $ hg prune --succ "desc(_oo) + desc(_pp)" -r "desc('oo+pp')" --split
  1457   1 changesets pruned
  1447   1 changesets pruned
  1458   1 new orphan changesets
  1448   1 new unstable changesets
  1459   $ glog -r "0cf3707e8971::"
  1449   $ glog -r "edc3c9de504e::"
  1460   @  32:c7dbf668e9d5@default(draft) _pp
  1450   @  35:7a555adf2b4a@default(draft) _pp
  1461   |
  1451   |
  1462   o  31:2b5a32114b3d@default(draft) _oo
  1452   o  34:2be4d2d5bf34@default(draft) _oo
  1463   |
  1453   |
  1464   | o  30:4d122571f3b6@default(draft) add uu
  1454   | o  33:53f0c003e03e@default(draft) add uu
  1465   | |
  1455   | |
  1466   | x  29:7da3e73df8a5@default(draft) oo+pp
  1456   | x  32:1bf2152f4f82@default(draft) oo+pp
  1467   |/
  1457   |/
  1468   | o  28:92ca6f3984de@default(draft) add gg
  1458   | o  31:580886d07058@default(draft) add gg
  1469   | |
  1459   | |
  1470   o |  27:2d1b55e10be9@default(draft) add unstableifparentisfolded
  1460   o |  30:68330ac625b8@default(draft) add unstableifparentisfolded
  1471   |/
  1461   |/
  1472   | o  18:0c049e4e5422@default(draft) add gh
  1462   | o  20:e02107f98737@default(draft) add gh
  1473   |/
  1463   |/
  1474   o  16:0cf3707e8971@default(draft) a3
  1464   o  18:edc3c9de504e@default(draft) a3
  1475   |
  1465   |
  1476   ~
  1466   ~
  1477   $ hg evolve --rev "0cf3707e8971::"
  1467   $ hg evolve --rev "edc3c9de504e::"
  1478   move:[30] add uu
  1468   move:[33] add uu
  1479   atop:[32] _pp
  1469   atop:[35] _pp
  1480   working directory is now at be23044af550
  1470   working directory is now at 43c3f5ef149f
  1481 
  1471 
  1482 
  1472 
  1483 Check that dirstate changes are kept at failure for conflicts (issue4966)
  1473 Check that dirstate changes are kept at failure for conflicts (issue4966)
  1484 ----------------------------------------
  1474 ----------------------------------------
  1485 
  1475 
  1486   $ echo "will be amended" > newfile
  1476   $ echo "will be amended" > newfile
  1487   $ hg commit -m "will be amended"
  1477   $ hg commit -m "will be amended"
  1488   $ hg parents
  1478   $ hg parents
  1489   34	: will be amended - test
  1479   37	: will be amended - test
  1490 
  1480 
  1491   $ echo "will be evolved safely" >> a
  1481   $ echo "will be evolved safely" >> a
  1492   $ hg commit -m "will be evolved safely"
  1482   $ hg commit -m "will be evolved safely"
  1493 
  1483 
  1494   $ echo "will cause conflict at evolve" > newfile
  1484   $ echo "will cause conflict at evolve" > newfile
  1495   $ echo "newly added" > newlyadded
  1485   $ echo "newly added" > newlyadded
  1496   $ hg add newlyadded
  1486   $ hg add newlyadded
  1497   $ hg commit -m "will cause conflict at evolve"
  1487   $ hg commit -m "will cause conflict at evolve"
  1498 
  1488 
  1499   $ glog -r "0cf3707e8971::"
  1489   $ hg update -q 36030b147271
  1500   @  36:59c37c5bebd1@default(draft) will cause conflict at evolve
       
  1501   |
       
  1502   o  35:7cc12c6c7862@default(draft) will be evolved safely
       
  1503   |
       
  1504   o  34:98c7ab460e6b@default(draft) will be amended
       
  1505   |
       
  1506   o  33:be23044af550@default(draft) add uu
       
  1507   |
       
  1508   o  32:c7dbf668e9d5@default(draft) _pp
       
  1509   |
       
  1510   o  31:2b5a32114b3d@default(draft) _oo
       
  1511   |
       
  1512   | o  28:92ca6f3984de@default(draft) add gg
       
  1513   | |
       
  1514   o |  27:2d1b55e10be9@default(draft) add unstableifparentisfolded
       
  1515   |/
       
  1516   | o  18:0c049e4e5422@default(draft) add gh
       
  1517   |/
       
  1518   o  16:0cf3707e8971@default(draft) a3
       
  1519   |
       
  1520   ~
       
  1521 
       
  1522   $ hg update -q 98c7ab460e6b
       
  1523   $ echo "amended" > newfile
  1490   $ echo "amended" > newfile
  1524   $ hg amend -m "amended"
  1491   $ hg amend -m "amended"
  1525   2 new orphan changesets
  1492   2 new unstable changesets
  1526 
  1493 
  1527   $ hg evolve --rev "98c7ab460e6b::"
  1494   $ hg evolve --rev "36030b147271::"
  1528   move:[35] will be evolved safely
  1495   move:[38] will be evolved safely
  1529   atop:[37] amended
  1496   atop:[41] amended
  1530   move:[36] will cause conflict at evolve
  1497   move:[39] will cause conflict at evolve
  1531   atop:[38] will be evolved safely
  1498   atop:[42] will be evolved safely
  1532   merging newfile
  1499   merging newfile
  1533   warning: conflicts while merging newfile! (edit, then use 'hg resolve --mark')
  1500   warning: conflicts while merging newfile! (edit, then use 'hg resolve --mark')
  1534   evolve failed!
  1501   evolve failed!
  1535   fix conflict and run 'hg evolve --continue' or use 'hg evolve --abort' to abort
  1502   fix conflict and run 'hg evolve --continue' or use 'hg evolve --abort' to abort
  1536   abort: unresolved merge conflicts (see hg help resolve)
  1503   abort: unresolved merge conflicts (see hg help resolve)
  1537   [255]
  1504   [255]
  1538 
  1505 
  1539   $ glog -r "be23044af550::" --hidden
  1506   $ glog -r "43c3f5ef149f::" --hidden
  1540   @  38:61abd81de026@default(draft) will be evolved safely
  1507   @  42:c904da5245b0@default(draft) will be evolved safely
  1541   |
  1508   |
  1542   o  37:df89d30f23e2@default(draft) amended
  1509   o  41:34ae045ec400@default(draft) amended
  1543   |
  1510   |
  1544   | o  36:59c37c5bebd1@default(draft) will cause conflict at evolve
  1511   | x  40:e88bee38ffc2@default(draft) temporary amend commit for 36030b147271
  1545   | |
  1512   | |
  1546   | x  35:7cc12c6c7862@default(draft) will be evolved safely
  1513   | | o  39:02e943732647@default(draft) will cause conflict at evolve
  1547   | |
  1514   | | |
  1548   | x  34:98c7ab460e6b@default(draft) will be amended
  1515   | | x  38:f8e30e9317aa@default(draft) will be evolved safely
  1549   |/
  1516   | |/
  1550   o  33:be23044af550@default(draft) add uu
  1517   | x  37:36030b147271@default(draft) will be amended
       
  1518   |/
       
  1519   o  36:43c3f5ef149f@default(draft) add uu
  1551   |
  1520   |
  1552   ~
  1521   ~
  1553 
  1522 
  1554   $ hg status newlyadded
  1523   $ hg status newlyadded
  1555   A newlyadded
  1524   A newlyadded