sapling/tests/test-fb-hgext-fbhistedit-stop-obsolete.t
Durham Goode ad813edcbd treemanifest: enable treemanifest by default in tests
Summary:
Now that all our repos are treemanifest, let's enable the extension by
default in tests. Once we're certain no one needs it in production we'll also
make it the default in core Mercurial.

This diff includes a minor fix in treemanifest to be aware of always-enabled
extensions. It won't matter until we actually add treemanifest to the list of
default enabled extensions, but I caught this while testing things.

Reviewed By: ikostia

Differential Revision: D15030253

fbshipit-source-id: d8361f915928b6ad90665e6ed330c1df5c8d8d86
2019-05-28 03:17:02 -07:00

193 lines
4.5 KiB
Raku

$ setconfig extensions.treemanifest=!
$ . "$TESTDIR/histedit-helpers.sh"
$ cat >> $HGRCPATH <<EOF
> [extensions]
> fbhistedit=
> histedit=
> rebase=
> EOF
Enable obsolete
$ cat > ${TESTTMP}/obs.py << EOF
> import edenscm.mercurial.obsolete
> edenscm.mercurial.obsolete._enabled = True
> EOF
$ echo "obs=${TESTTMP}/obs.py" >> $HGRCPATH
$ initrepo ()
> {
> hg init r
> cd r
> for x in a b c d e f ; do
> echo $x > $x
> hg add $x
> hg ci -m $x
> done
> }
$ initrepo
log before edit
$ hg log --graph
@ changeset: 5:652413bf663e
| tag: tip
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: f
|
o changeset: 4:e860deea161a
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: e
|
o changeset: 3:055a42cdd887
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: d
|
o changeset: 2:177f92b77385
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: c
|
o changeset: 1:d2ae7f538514
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: b
|
o changeset: 0:cb9a9f314b8b
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: a
stop & continue cannot preserve hashes without obsolescence
$ hg histedit 177f92b77385 --commands - 2>&1 << EOF| fixbundle
> pick 177f92b77385 c
> pick 055a42cdd887 d
> stop e860deea161a e
> pick 652413bf663e f
> EOF
Changes committed as 04d2fab98077. You may amend the changeset now.
When you are done, run hg histedit --continue to resume
$ hg histedit --continue
$ hg log --graph
@ changeset: 7:794fe033d0a0
| tag: tip
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: f
|
o changeset: 6:04d2fab98077
| parent: 3:055a42cdd887
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: e
|
o changeset: 3:055a42cdd887
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: d
|
o changeset: 2:177f92b77385
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: c
|
o changeset: 1:d2ae7f538514
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: b
|
o changeset: 0:cb9a9f314b8b
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: a
stop on a commit
$ hg histedit 177f92b77385 --commands - 2>&1 << EOF| fixbundle
> pick 177f92b77385 c
> pick 055a42cdd887 d
> stop 04d2fab98077 e
> pick 794fe033d0a0 f
> EOF
Changes committed as d28623a90f2b. You may amend the changeset now.
When you are done, run hg histedit --continue to resume
$ hg id -r . -i
d28623a90f2b
$ echo added > added
$ hg add added
$ hg commit --amend
$ hg log -v -r '.' --template '{files}\n'
added e
$ hg histedit --continue
$ hg log --graph --template '{node|short} {desc} {files}\n'
@ 099559071076 f f
|
o d51720eb7a13 e added e
|
o 055a42cdd887 d d
|
o 177f92b77385 c c
|
o d2ae7f538514 b b
|
o cb9a9f314b8b a a
check histedit_source
$ hg log --debug --rev d51720eb7a133e2dabf74a445e509a3900e9c0b5
changeset: 9:d51720eb7a133e2dabf74a445e509a3900e9c0b5
phase: draft
parent: 3:055a42cdd88768532f9cf79daa407fc8d138de9b
parent: -1:0000000000000000000000000000000000000000
manifest: b2ebbc42649134e3236996c0a3b1c6ec526e8f2e
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files+: added e
extra: amend_source=d28623a90f2b5c38b6c3ca503c86847b34c9bfdf
extra: branch=default
extra: histedit_source=04d2fab980779f332dec458cc944f28de8b43435
description:
e
fold a commit to check if other non-pick actions are handled correctly
$ hg histedit 177f92b77385 --commands - 2>&1 << EOF| fixbundle
> pick 177f92b77385 c
> fold 055a42cdd887 d
> stop d51720eb7a13 e
> pick 099559071076 f
> EOF
Changes committed as 08cf87522012. You may amend the changeset now.
When you are done, run hg histedit --continue to resume
$ hg histedit --continue
$ hg log --graph --template '{node|short} {desc} {files}\n'
@ 3c9ba74168ea f f
|
o 08cf87522012 e added e
|
o 66584b8c84e1 c
| ***
| d c d
o d2ae7f538514 b b
|
o cb9a9f314b8b a a