summaryrefslogtreecommitdiff
path: root/tests/test-obsolete.t
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-obsolete.t')
-rw-r--r--tests/test-obsolete.t508
1 files changed, 0 insertions, 508 deletions
diff --git a/tests/test-obsolete.t b/tests/test-obsolete.t
deleted file mode 100644
index 40abaca..0000000
--- a/tests/test-obsolete.t
+++ /dev/null
@@ -1,508 +0,0 @@
- $ cat >> $HGRCPATH << EOF
- > [extensions]
- > graphlog=
- > [phases]
- > # public changeset are not obsolete
- > publish=false
- > EOF
- $ mkcommit() {
- > echo "$1" > "$1"
- > hg add "$1"
- > hg ci -m "add $1"
- > }
- $ getid() {
- > hg id --debug -ir "desc('$1')"
- > }
-
- $ cat > debugkeys.py <<EOF
- > def reposetup(ui, repo):
- > class debugkeysrepo(repo.__class__):
- > def listkeys(self, namespace):
- > ui.write('listkeys %s\n' % (namespace,))
- > return super(debugkeysrepo, self).listkeys(namespace)
- >
- > if repo.local():
- > repo.__class__ = debugkeysrepo
- > EOF
-
- $ hg init tmpa
- $ cd tmpa
- $ mkcommit kill_me
-
-Checking that the feature is properly disabled
-
- $ hg debugobsolete -d '0 0' `getid kill_me` -u babar
- abort: obsolete feature is not enabled on this repo
- [255]
-
-Enabling it
-
- $ cat > ../obs.py << EOF
- > import mercurial.obsolete
- > mercurial.obsolete._enabled = True
- > EOF
- $ echo '[extensions]' >> $HGRCPATH
- $ echo "obs=${TESTTMP}/obs.py" >> $HGRCPATH
-
-Killing a single changeset without replacement
-
- $ hg debugobsolete 0
- abort: changeset references must be full hexadecimal node identifiers
- [255]
- $ hg debugobsolete '00'
- abort: changeset references must be full hexadecimal node identifiers
- [255]
- $ hg debugobsolete -d '0 0' `getid kill_me` -u babar
- $ hg debugobsolete
- 97b7c2d76b1845ed3eb988cd612611e72406cef0 0 {'date': '0 0', 'user': 'babar'}
- $ cd ..
-
-Killing a single changeset with replacement
-
- $ hg init tmpb
- $ cd tmpb
- $ mkcommit a
- $ mkcommit b
- $ mkcommit original_c
- $ hg up "desc('b')"
- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
- $ mkcommit new_c
- created new head
- $ hg debugobsolete `getid original_c` `getid new_c` -d '56 12'
- $ hg debugobsolete
- 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f 0 {'date': '56 12', 'user': 'test'}
-
-do it again (it read the obsstore before adding new changeset)
-
- $ hg up '.^'
- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
- $ mkcommit new_2_c
- created new head
- $ hg debugobsolete -d '1337 0' `getid new_c` `getid new_2_c`
- $ hg debugobsolete
- 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f 0 {'date': '56 12', 'user': 'test'}
- cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 {'date': '1337 0', 'user': 'test'}
-
-Register two markers with a missing node
-
- $ hg up '.^'
- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
- $ mkcommit new_3_c
- created new head
- $ hg debugobsolete -d '1338 0' `getid new_2_c` 1337133713371337133713371337133713371337
- $ hg debugobsolete -d '1339 0' 1337133713371337133713371337133713371337 `getid new_3_c`
- $ hg debugobsolete
- 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f 0 {'date': '56 12', 'user': 'test'}
- cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 {'date': '1337 0', 'user': 'test'}
- ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 {'date': '1338 0', 'user': 'test'}
- 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 {'date': '1339 0', 'user': 'test'}
-
-Check that graphlog detect that a changeset is obsolete:
-
- $ hg glog
- @ changeset: 5:5601fb93a350
- | tag: tip
- | parent: 1:7c3bad9141dc
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: add new_3_c
- |
- o changeset: 1:7c3bad9141dc
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: add b
- |
- o changeset: 0:1f0dee641bb7
- user: test
- date: Thu Jan 01 00:00:00 1970 +0000
- summary: add a
-
-
-Check that public changeset are not accounted as obsolete:
-
- $ hg phase --public 2
- $ hg --config 'extensions.graphlog=' glog
- @ changeset: 5:5601fb93a350
- | tag: tip
- | parent: 1:7c3bad9141dc
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: add new_3_c
- |
- | o changeset: 2:245bde4270cd
- |/ user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: add original_c
- |
- o changeset: 1:7c3bad9141dc
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: add b
- |
- o changeset: 0:1f0dee641bb7
- user: test
- date: Thu Jan 01 00:00:00 1970 +0000
- summary: add a
-
-
- $ cd ..
-
-Exchange Test
-============================
-
-Destination repo does not have any data
----------------------------------------
-
-Try to pull markers
-(extinct changeset are excluded but marker are pushed)
-
- $ hg init tmpc
- $ cd tmpc
- $ hg pull ../tmpb
- pulling from ../tmpb
- requesting all changes
- adding changesets
- adding manifests
- adding file changes
- added 4 changesets with 4 changes to 4 files (+1 heads)
- (run 'hg heads' to see heads, 'hg merge' to merge)
- $ hg debugobsolete
- 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f 0 {'date': '56 12', 'user': 'test'}
- cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 {'date': '1337 0', 'user': 'test'}
- ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 {'date': '1338 0', 'user': 'test'}
- 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 {'date': '1339 0', 'user': 'test'}
-
-Rollback//Transaction support
-
- $ hg debugobsolete -d '1340 0' aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
- $ hg debugobsolete
- 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f 0 {'date': '56 12', 'user': 'test'}
- cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 {'date': '1337 0', 'user': 'test'}
- ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 {'date': '1338 0', 'user': 'test'}
- 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 {'date': '1339 0', 'user': 'test'}
- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 0 {'date': '1340 0', 'user': 'test'}
- $ hg rollback -n
- repository tip rolled back to revision 3 (undo debugobsolete)
- $ hg rollback
- repository tip rolled back to revision 3 (undo debugobsolete)
- $ hg debugobsolete
- 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f 0 {'date': '56 12', 'user': 'test'}
- cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 {'date': '1337 0', 'user': 'test'}
- ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 {'date': '1338 0', 'user': 'test'}
- 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 {'date': '1339 0', 'user': 'test'}
-
- $ cd ..
-
-Try to pull markers
-
- $ hg init tmpd
- $ hg -R tmpb push tmpd
- pushing to tmpd
- searching for changes
- adding changesets
- adding manifests
- adding file changes
- added 4 changesets with 4 changes to 4 files (+1 heads)
- $ hg -R tmpd debugobsolete
- 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f 0 {'date': '56 12', 'user': 'test'}
- cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 {'date': '1337 0', 'user': 'test'}
- ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 {'date': '1338 0', 'user': 'test'}
- 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 {'date': '1339 0', 'user': 'test'}
-
-Check obsolete keys are exchanged only if source has an obsolete store
-
- $ hg init empty
- $ hg --config extensions.debugkeys=debugkeys.py -R empty push tmpd
- pushing to tmpd
- no changes found
- listkeys phases
- listkeys bookmarks
- [1]
-
-clone support
-(markers are copied and extinct changesets are included to allow hardlinks)
-
- $ hg clone tmpb clone-dest
- updating to branch default
- 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
- $ hg -R clone-dest log -G --hidden
- @ changeset: 5:5601fb93a350
- | tag: tip
- | parent: 1:7c3bad9141dc
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: add new_3_c
- |
- | x changeset: 4:ca819180edb9
- |/ parent: 1:7c3bad9141dc
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: add new_2_c
- |
- | x changeset: 3:cdbce2fbb163
- |/ parent: 1:7c3bad9141dc
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: add new_c
- |
- | o changeset: 2:245bde4270cd
- |/ user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: add original_c
- |
- o changeset: 1:7c3bad9141dc
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: add b
- |
- o changeset: 0:1f0dee641bb7
- user: test
- date: Thu Jan 01 00:00:00 1970 +0000
- summary: add a
-
- $ hg -R clone-dest debugobsolete
- 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f 0 {'date': '56 12', 'user': 'test'}
- cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 {'date': '1337 0', 'user': 'test'}
- ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 {'date': '1338 0', 'user': 'test'}
- 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 {'date': '1339 0', 'user': 'test'}
-
-
-Destination repo have existing data
----------------------------------------
-
-On pull
-
- $ hg init tmpe
- $ cd tmpe
- $ hg debugobsolete -d '1339 0' 2448244824482448244824482448244824482448 1339133913391339133913391339133913391339
- $ hg pull ../tmpb
- pulling from ../tmpb
- requesting all changes
- adding changesets
- adding manifests
- adding file changes
- added 4 changesets with 4 changes to 4 files (+1 heads)
- (run 'hg heads' to see heads, 'hg merge' to merge)
- $ hg debugobsolete
- 2448244824482448244824482448244824482448 1339133913391339133913391339133913391339 0 {'date': '1339 0', 'user': 'test'}
- 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f 0 {'date': '56 12', 'user': 'test'}
- cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 {'date': '1337 0', 'user': 'test'}
- ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 {'date': '1338 0', 'user': 'test'}
- 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 {'date': '1339 0', 'user': 'test'}
-
-
-On push
-
- $ hg push ../tmpc
- pushing to ../tmpc
- searching for changes
- no changes found
- [1]
- $ hg -R ../tmpc debugobsolete
- 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f 0 {'date': '56 12', 'user': 'test'}
- cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 {'date': '1337 0', 'user': 'test'}
- ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 {'date': '1338 0', 'user': 'test'}
- 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 {'date': '1339 0', 'user': 'test'}
- 2448244824482448244824482448244824482448 1339133913391339133913391339133913391339 0 {'date': '1339 0', 'user': 'test'}
-
-detect outgoing obsolete and unstable
----------------------------------------
-
-
- $ hg glog
- o changeset: 3:5601fb93a350
- | tag: tip
- | parent: 1:7c3bad9141dc
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: add new_3_c
- |
- | o changeset: 2:245bde4270cd
- |/ user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: add original_c
- |
- o changeset: 1:7c3bad9141dc
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: add b
- |
- o changeset: 0:1f0dee641bb7
- user: test
- date: Thu Jan 01 00:00:00 1970 +0000
- summary: add a
-
- $ hg up 'desc("new_3_c")'
- 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
- $ mkcommit original_d
- $ mkcommit original_e
- $ hg debugobsolete `getid original_d` -d '0 0'
- $ hg log -r 'obsolete()'
- changeset: 4:7c694bff0650
- user: test
- date: Thu Jan 01 00:00:00 1970 +0000
- summary: add original_d
-
- $ hg glog -r '::unstable()'
- @ changeset: 5:6e572121998e
- | tag: tip
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: add original_e
- |
- x changeset: 4:7c694bff0650
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: add original_d
- |
- o changeset: 3:5601fb93a350
- | parent: 1:7c3bad9141dc
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: add new_3_c
- |
- o changeset: 1:7c3bad9141dc
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: add b
- |
- o changeset: 0:1f0dee641bb7
- user: test
- date: Thu Jan 01 00:00:00 1970 +0000
- summary: add a
-
-
-refuse to push obsolete changeset
-
- $ hg push ../tmpc/ -r 'desc("original_d")'
- pushing to ../tmpc/
- searching for changes
- abort: push includes an obsolete changeset: 7c694bff0650!
- [255]
-
-refuse to push unstable changeset
-
- $ hg push ../tmpc/
- pushing to ../tmpc/
- searching for changes
- abort: push includes an unstable changeset: 6e572121998e!
- [255]
-
-Test that extinct changeset are properly detected
-
- $ hg log -r 'extinct()'
-
-Don't try to push extinct changeset
-
- $ hg init ../tmpf
- $ hg out ../tmpf
- comparing with ../tmpf
- searching for changes
- changeset: 0:1f0dee641bb7
- user: test
- date: Thu Jan 01 00:00:00 1970 +0000
- summary: add a
-
- changeset: 1:7c3bad9141dc
- user: test
- date: Thu Jan 01 00:00:00 1970 +0000
- summary: add b
-
- changeset: 2:245bde4270cd
- user: test
- date: Thu Jan 01 00:00:00 1970 +0000
- summary: add original_c
-
- changeset: 3:5601fb93a350
- parent: 1:7c3bad9141dc
- user: test
- date: Thu Jan 01 00:00:00 1970 +0000
- summary: add new_3_c
-
- changeset: 4:7c694bff0650
- user: test
- date: Thu Jan 01 00:00:00 1970 +0000
- summary: add original_d
-
- changeset: 5:6e572121998e
- tag: tip
- user: test
- date: Thu Jan 01 00:00:00 1970 +0000
- summary: add original_e
-
- $ hg push ../tmpf -f # -f because be push unstable too
- pushing to ../tmpf
- searching for changes
- adding changesets
- adding manifests
- adding file changes
- added 6 changesets with 6 changes to 6 files (+1 heads)
-
-no warning displayed
-
- $ hg push ../tmpf
- pushing to ../tmpf
- searching for changes
- no changes found
- [1]
-
-Do not warn about new head when the new head is a successors of a remote one
-
- $ hg glog
- @ changeset: 5:6e572121998e
- | tag: tip
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: add original_e
- |
- x changeset: 4:7c694bff0650
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: add original_d
- |
- o changeset: 3:5601fb93a350
- | parent: 1:7c3bad9141dc
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: add new_3_c
- |
- | o changeset: 2:245bde4270cd
- |/ user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: add original_c
- |
- o changeset: 1:7c3bad9141dc
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: add b
- |
- o changeset: 0:1f0dee641bb7
- user: test
- date: Thu Jan 01 00:00:00 1970 +0000
- summary: add a
-
- $ hg up -q 'desc(new_3_c)'
- $ mkcommit obsolete_e
- created new head
- $ hg debugobsolete `getid 'original_e'` `getid 'obsolete_e'`
- $ hg push ../tmpf
- pushing to ../tmpf
- searching for changes
- adding changesets
- adding manifests
- adding file changes
- added 1 changesets with 1 changes to 1 files (+1 heads)
-
-Checking _enable=False warning if obsolete marker exists
-
- $ echo '[extensions]' >> $HGRCPATH
- $ echo "obs=!" >> $HGRCPATH
- $ hg log -r tip
- obsolete feature not enabled but 7 markers found!
- changeset: 6:d6a026544050
- tag: tip
- parent: 3:5601fb93a350
- user: test
- date: Thu Jan 01 00:00:00 1970 +0000
- summary: add obsolete_e
-