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