tests/test-commit-amend.t
changeset 33334 20f533a92eda
parent 30792 4215dc1b708b
child 33666 6f4bc9688ca9
equal deleted inserted replaced
33333:8bfd10e4c55a 33334:20f533a92eda
    38 
    38 
    39   $ echo a >> a
    39   $ echo a >> a
    40   $ HGEDITOR="\"sh\" \"`pwd`/editor.sh\"" hg commit --amend -m 'amend base1'
    40   $ HGEDITOR="\"sh\" \"`pwd`/editor.sh\"" hg commit --amend -m 'amend base1'
    41   pretxncommit 43f1ba15f28a50abf0aae529cf8a16bfced7b149
    41   pretxncommit 43f1ba15f28a50abf0aae529cf8a16bfced7b149
    42   43f1ba15f28a tip
    42   43f1ba15f28a tip
    43   saved backup bundle to $TESTTMP/.hg/strip-backup/489edb5b847d-f1bf3ab8-amend-backup.hg (glob)
    43   saved backup bundle to $TESTTMP/.hg/strip-backup/489edb5b847d-f1bf3ab8-amend.hg (glob)
    44   $ echo 'pretxncommit.foo = ' >> $HGRCPATH
    44   $ echo 'pretxncommit.foo = ' >> $HGRCPATH
    45   $ hg diff -c .
    45   $ hg diff -c .
    46   diff -r ad120869acf0 -r 43f1ba15f28a a
    46   diff -r ad120869acf0 -r 43f1ba15f28a a
    47   --- a/a	Thu Jan 01 00:00:00 1970 +0000
    47   --- a/a	Thu Jan 01 00:00:00 1970 +0000
    48   +++ b/a	Thu Jan 01 00:00:00 1970 +0000
    48   +++ b/a	Thu Jan 01 00:00:00 1970 +0000
    91   update: (current)
    91   update: (current)
    92   phases: 2 draft
    92   phases: 2 draft
    93 
    93 
    94 Add new file:
    94 Add new file:
    95   $ hg ci --amend -m 'amend base1 new file'
    95   $ hg ci --amend -m 'amend base1 new file'
    96   saved backup bundle to $TESTTMP/.hg/strip-backup/43f1ba15f28a-7a3b3496-amend-backup.hg (glob)
    96   saved backup bundle to $TESTTMP/.hg/strip-backup/43f1ba15f28a-7a3b3496-amend.hg (glob)
    97 
    97 
    98 Remove file that was added in amended commit:
    98 Remove file that was added in amended commit:
    99 (and test logfile option)
    99 (and test logfile option)
   100 (and test that logfile option do not trigger an editor)
   100 (and test that logfile option do not trigger an editor)
   101 
   101 
   102   $ hg rm b
   102   $ hg rm b
   103   $ echo 'amend base1 remove new file' > ../logfile
   103   $ echo 'amend base1 remove new file' > ../logfile
   104   $ HGEDITOR="\"sh\" \"`pwd`/editor.sh\"" hg ci --amend --logfile ../logfile
   104   $ HGEDITOR="\"sh\" \"`pwd`/editor.sh\"" hg ci --amend --logfile ../logfile
   105   saved backup bundle to $TESTTMP/.hg/strip-backup/b8e3cb2b3882-0b55739a-amend-backup.hg (glob)
   105   saved backup bundle to $TESTTMP/.hg/strip-backup/b8e3cb2b3882-0b55739a-amend.hg (glob)
   106 
   106 
   107   $ hg cat b
   107   $ hg cat b
   108   b: no such file in rev 74609c7f506e
   108   b: no such file in rev 74609c7f506e
   109   [1]
   109   [1]
   110 
   110 
   115   copying changeset 74609c7f506e to ad120869acf0
   115   copying changeset 74609c7f506e to ad120869acf0
   116   committing files:
   116   committing files:
   117   a
   117   a
   118   committing manifest
   118   committing manifest
   119   committing changelog
   119   committing changelog
   120   stripping amended changeset 74609c7f506e
       
   121   1 changesets found
   120   1 changesets found
   122   uncompressed size of bundle content:
   121   uncompressed size of bundle content:
   123        254 (changelog)
   122        254 (changelog)
   124        163 (manifests)
   123        163 (manifests)
   125        129  a
   124        129  a
   126   saved backup bundle to $TESTTMP/.hg/strip-backup/74609c7f506e-1bfde511-amend-backup.hg (glob)
   125   saved backup bundle to $TESTTMP/.hg/strip-backup/74609c7f506e-1bfde511-amend.hg (glob)
   127   1 changesets found
   126   1 changesets found
   128   uncompressed size of bundle content:
   127   uncompressed size of bundle content:
   129        250 (changelog)
   128        250 (changelog)
   130        163 (manifests)
   129        163 (manifests)
   131        129  a
   130        129  a
   167   > env | grep HGEDITFORM
   166   > env | grep HGEDITFORM
   168   > true
   167   > true
   169   > EOF
   168   > EOF
   170   $ HGEDITOR="sh .hg/checkeditform.sh" hg ci --amend -u foo -d '1 0'
   169   $ HGEDITOR="sh .hg/checkeditform.sh" hg ci --amend -u foo -d '1 0'
   171   HGEDITFORM=commit.amend.normal
   170   HGEDITFORM=commit.amend.normal
   172   saved backup bundle to $TESTTMP/.hg/strip-backup/1cd866679df8-5f5bcb85-amend-backup.hg (glob)
   171   saved backup bundle to $TESTTMP/.hg/strip-backup/1cd866679df8-5f5bcb85-amend.hg (glob)
   173   $ echo a >> a
   172   $ echo a >> a
   174   $ hg ci --amend -u foo -d '1 0'
   173   $ hg ci --amend -u foo -d '1 0'
   175   saved backup bundle to $TESTTMP/.hg/strip-backup/780e6f23e03d-83b10a27-amend-backup.hg (glob)
   174   saved backup bundle to $TESTTMP/.hg/strip-backup/780e6f23e03d-83b10a27-amend.hg (glob)
   176   $ hg log -r .
   175   $ hg log -r .
   177   changeset:   1:5f357c7560ab
   176   changeset:   1:5f357c7560ab
   178   tag:         tip
   177   tag:         tip
   179   user:        foo
   178   user:        foo
   180   date:        Thu Jan 01 00:00:01 1970 +0000
   179   date:        Thu Jan 01 00:00:01 1970 +0000
   259   HG: changed a
   258   HG: changed a
   260   committing files:
   259   committing files:
   261   a
   260   a
   262   committing manifest
   261   committing manifest
   263   committing changelog
   262   committing changelog
   264   stripping amended changeset 5f357c7560ab
       
   265   1 changesets found
   263   1 changesets found
   266   uncompressed size of bundle content:
   264   uncompressed size of bundle content:
   267        249 (changelog)
   265        249 (changelog)
   268        163 (manifests)
   266        163 (manifests)
   269        131  a
   267        131  a
   270   saved backup bundle to $TESTTMP/.hg/strip-backup/5f357c7560ab-e7c84ade-amend-backup.hg (glob)
   268   saved backup bundle to $TESTTMP/.hg/strip-backup/5f357c7560ab-e7c84ade-amend.hg (glob)
   271   1 changesets found
   269   1 changesets found
   272   uncompressed size of bundle content:
   270   uncompressed size of bundle content:
   273        257 (changelog)
   271        257 (changelog)
   274        163 (manifests)
   272        163 (manifests)
   275        131  a
   273        131  a
   301   HG: changed a
   299   HG: changed a
   302   committing files:
   300   committing files:
   303   a
   301   a
   304   committing manifest
   302   committing manifest
   305   committing changelog
   303   committing changelog
   306   stripping intermediate changeset a0ea9b1a4c8c
       
   307   stripping amended changeset 7ab3bf440b54
       
   308   2 changesets found
   304   2 changesets found
   309   uncompressed size of bundle content:
   305   uncompressed size of bundle content:
   310        464 (changelog)
   306        464 (changelog)
   311        322 (manifests)
   307        322 (manifests)
   312        249  a
   308        249  a
   313   saved backup bundle to $TESTTMP/.hg/strip-backup/7ab3bf440b54-8e3b5088-amend-backup.hg (glob)
   309   saved backup bundle to $TESTTMP/.hg/strip-backup/7ab3bf440b54-8e3b5088-amend.hg (glob)
   314   1 changesets found
   310   1 changesets found
   315   uncompressed size of bundle content:
   311   uncompressed size of bundle content:
   316        257 (changelog)
   312        257 (changelog)
   317        163 (manifests)
   313        163 (manifests)
   318        133  a
   314        133  a
   335 Moving bookmarks, preserve active bookmark:
   331 Moving bookmarks, preserve active bookmark:
   336 
   332 
   337   $ hg book book1
   333   $ hg book book1
   338   $ hg book book2
   334   $ hg book book2
   339   $ hg ci --amend -m 'move bookmarks'
   335   $ hg ci --amend -m 'move bookmarks'
   340   saved backup bundle to $TESTTMP/.hg/strip-backup/ea22a388757c-e51094db-amend-backup.hg (glob)
   336   saved backup bundle to $TESTTMP/.hg/strip-backup/ea22a388757c-e51094db-amend.hg (glob)
   341   $ hg book
   337   $ hg book
   342      book1                     1:6cec5aa930e2
   338      book1                     1:6cec5aa930e2
   343    * book2                     1:6cec5aa930e2
   339    * book2                     1:6cec5aa930e2
   344   $ echo a >> a
   340   $ echo a >> a
   345   $ hg ci --amend -m 'move bookmarks'
   341   $ hg ci --amend -m 'move bookmarks'
   346   saved backup bundle to $TESTTMP/.hg/strip-backup/6cec5aa930e2-e9b06de4-amend-backup.hg (glob)
   342   saved backup bundle to $TESTTMP/.hg/strip-backup/6cec5aa930e2-e9b06de4-amend.hg (glob)
   347   $ hg book
   343   $ hg book
   348      book1                     1:48bb6e53a15f
   344      book1                     1:48bb6e53a15f
   349    * book2                     1:48bb6e53a15f
   345    * book2                     1:48bb6e53a15f
   350 
   346 
   351 abort does not loose bookmarks
   347 abort does not loose bookmarks
   377   $ echo a >> a
   373   $ echo a >> a
   378   $ hg ci -m 'branch foo'
   374   $ hg ci -m 'branch foo'
   379   $ hg branch default -f
   375   $ hg branch default -f
   380   marked working directory as branch default
   376   marked working directory as branch default
   381   $ hg ci --amend -m 'back to default'
   377   $ hg ci --amend -m 'back to default'
   382   saved backup bundle to $TESTTMP/.hg/strip-backup/8ac881fbf49d-fd962fef-amend-backup.hg (glob)
   378   saved backup bundle to $TESTTMP/.hg/strip-backup/8ac881fbf49d-fd962fef-amend.hg (glob)
   383   $ hg branches
   379   $ hg branches
   384   default                        2:ce12b0b57d46
   380   default                        2:ce12b0b57d46
   385 
   381 
   386 Close branch:
   382 Close branch:
   387 
   383 
   393   $ hg ci -Am 'fork'
   389   $ hg ci -Am 'fork'
   394   adding b
   390   adding b
   395   $ echo b >> b
   391   $ echo b >> b
   396   $ hg ci -mb
   392   $ hg ci -mb
   397   $ hg ci --amend --close-branch -m 'closing branch foo'
   393   $ hg ci --amend --close-branch -m 'closing branch foo'
   398   saved backup bundle to $TESTTMP/.hg/strip-backup/c962248fa264-6701c392-amend-backup.hg (glob)
   394   saved backup bundle to $TESTTMP/.hg/strip-backup/c962248fa264-6701c392-amend.hg (glob)
   399 
   395 
   400 Same thing, different code path:
   396 Same thing, different code path:
   401 
   397 
   402   $ echo b >> b
   398   $ echo b >> b
   403   $ hg ci -m 'reopen branch'
   399   $ hg ci -m 'reopen branch'
   404   reopening closed branch head 4
   400   reopening closed branch head 4
   405   $ echo b >> b
   401   $ echo b >> b
   406   $ hg ci --amend --close-branch
   402   $ hg ci --amend --close-branch
   407   saved backup bundle to $TESTTMP/.hg/strip-backup/027371728205-49c0c55d-amend-backup.hg (glob)
   403   saved backup bundle to $TESTTMP/.hg/strip-backup/027371728205-49c0c55d-amend.hg (glob)
   408   $ hg branches
   404   $ hg branches
   409   default                        2:ce12b0b57d46
   405   default                        2:ce12b0b57d46
   410 
   406 
   411 Refuse to amend during a merge:
   407 Refuse to amend during a merge:
   412 
   408 
   423 
   419 
   424   $ hg mv b c
   420   $ hg mv b c
   425   $ hg ci -m 'b -> c'
   421   $ hg ci -m 'b -> c'
   426   $ hg mv c d
   422   $ hg mv c d
   427   $ hg ci --amend -m 'b -> d'
   423   $ hg ci --amend -m 'b -> d'
   428   saved backup bundle to $TESTTMP/.hg/strip-backup/b8c6eac7f12e-adaaa8b1-amend-backup.hg (glob)
   424   saved backup bundle to $TESTTMP/.hg/strip-backup/b8c6eac7f12e-adaaa8b1-amend.hg (glob)
   429   $ hg st --rev '.^' --copies d
   425   $ hg st --rev '.^' --copies d
   430   A d
   426   A d
   431     b
   427     b
   432   $ hg cp d e
   428   $ hg cp d e
   433   $ hg ci -m 'e = d'
   429   $ hg ci -m 'e = d'
   434   $ hg cp e f
   430   $ hg cp e f
   435   $ hg ci --amend -m 'f = d'
   431   $ hg ci --amend -m 'f = d'
   436   saved backup bundle to $TESTTMP/.hg/strip-backup/7f9761d65613-d37aa788-amend-backup.hg (glob)
   432   saved backup bundle to $TESTTMP/.hg/strip-backup/7f9761d65613-d37aa788-amend.hg (glob)
   437   $ hg st --rev '.^' --copies f
   433   $ hg st --rev '.^' --copies f
   438   A f
   434   A f
   439     d
   435     d
   440 
   436 
   441   $ mv f f.orig
   437   $ mv f f.orig
   442   $ hg rm -A f
   438   $ hg rm -A f
   443   $ hg ci -m removef
   439   $ hg ci -m removef
   444   $ hg cp a f
   440   $ hg cp a f
   445   $ mv f.orig f
   441   $ mv f.orig f
   446   $ hg ci --amend -m replacef
   442   $ hg ci --amend -m replacef
   447   saved backup bundle to $TESTTMP/.hg/strip-backup/9e8c5f7e3d95-90259f67-amend-backup.hg (glob)
   443   saved backup bundle to $TESTTMP/.hg/strip-backup/9e8c5f7e3d95-90259f67-amend.hg (glob)
   448   $ hg st --change . --copies
   444   $ hg st --change . --copies
   449   $ hg log -r . --template "{file_copies}\n"
   445   $ hg log -r . --template "{file_copies}\n"
   450   
   446   
   451 
   447 
   452 Move added file (issue3410):
   448 Move added file (issue3410):
   454   $ echo g >> g
   450   $ echo g >> g
   455   $ hg ci -Am g
   451   $ hg ci -Am g
   456   adding g
   452   adding g
   457   $ hg mv g h
   453   $ hg mv g h
   458   $ hg ci --amend
   454   $ hg ci --amend
   459   saved backup bundle to $TESTTMP/.hg/strip-backup/24aa8eacce2b-7059e0f1-amend-backup.hg (glob)
   455   saved backup bundle to $TESTTMP/.hg/strip-backup/24aa8eacce2b-7059e0f1-amend.hg (glob)
   460   $ hg st --change . --copies h
   456   $ hg st --change . --copies h
   461   A h
   457   A h
   462   $ hg log -r . --template "{file_copies}\n"
   458   $ hg log -r . --template "{file_copies}\n"
   463   
   459   
   464 
   460 
   474   marked working directory as branch a
   470   marked working directory as branch a
   475   (branches are permanent and global, did you want a bookmark?)
   471   (branches are permanent and global, did you want a bookmark?)
   476   $ echo a >> a
   472   $ echo a >> a
   477   $ hg ci -ma
   473   $ hg ci -ma
   478   $ hg ci --amend -m "a'"
   474   $ hg ci --amend -m "a'"
   479   saved backup bundle to $TESTTMP/.hg/strip-backup/3837aa2a2fdb-2be01fd1-amend-backup.hg (glob)
   475   saved backup bundle to $TESTTMP/.hg/strip-backup/3837aa2a2fdb-2be01fd1-amend.hg (glob)
   480   $ hg log -r . --template "{branch}\n"
   476   $ hg log -r . --template "{branch}\n"
   481   a
   477   a
   482   $ hg ci --amend -m "a''"
   478   $ hg ci --amend -m "a''"
   483   saved backup bundle to $TESTTMP/.hg/strip-backup/c05c06be7514-ed28c4cd-amend-backup.hg (glob)
   479   saved backup bundle to $TESTTMP/.hg/strip-backup/c05c06be7514-ed28c4cd-amend.hg (glob)
   484   $ hg log -r . --template "{branch}\n"
   480   $ hg log -r . --template "{branch}\n"
   485   a
   481   a
   486 
   482 
   487 Also preserve other entries in the dict that are in the old commit,
   483 Also preserve other entries in the dict that are in the old commit,
   488 first graft something so there's an additional entry:
   484 first graft something so there's an additional entry:
   495   $ hg up 11
   491   $ hg up 11
   496   5 files updated, 0 files merged, 1 files removed, 0 files unresolved
   492   5 files updated, 0 files merged, 1 files removed, 0 files unresolved
   497   $ hg graft 12
   493   $ hg graft 12
   498   grafting 12:2647734878ef "fork" (tip)
   494   grafting 12:2647734878ef "fork" (tip)
   499   $ hg ci --amend -m 'graft amend'
   495   $ hg ci --amend -m 'graft amend'
   500   saved backup bundle to $TESTTMP/.hg/strip-backup/bd010aea3f39-eedb103b-amend-backup.hg (glob)
   496   saved backup bundle to $TESTTMP/.hg/strip-backup/bd010aea3f39-eedb103b-amend.hg (glob)
   501   $ hg log -r . --debug | grep extra
   497   $ hg log -r . --debug | grep extra
   502   extra:       amend_source=bd010aea3f39f3fb2a2f884b9ccb0471cd77398e
   498   extra:       amend_source=bd010aea3f39f3fb2a2f884b9ccb0471cd77398e
   503   extra:       branch=a
   499   extra:       branch=a
   504   extra:       source=2647734878ef0236dda712fae9c1651cf694ea8a
   500   extra:       source=2647734878ef0236dda712fae9c1651cf694ea8a
   505 
   501