2019-04-11 12:40:06 +03:00
|
|
|
$ enable amend rebase directaccess
|
|
|
|
$ setconfig mutation.record=true mutation.enabled=true mutation.date="0 0"
|
|
|
|
|
|
|
|
Test upgrading from obsmarker-based visibility to explicitly tracked visibility.
|
|
|
|
|
|
|
|
$ cd $TESTTMP
|
|
|
|
$ newrepo
|
|
|
|
$ drawdag << EOS
|
|
|
|
> B D F
|
|
|
|
> | | |
|
|
|
|
> A C E # amend: A -> C -> E
|
|
|
|
> \|/ # rebase: B -> D -> F
|
|
|
|
> Z
|
|
|
|
> EOS
|
|
|
|
$ tglogm
|
|
|
|
o 6: a77c932a84af 'F'
|
|
|
|
|
|
|
|
|
o 5: 05eb30556340 'E'
|
|
|
|
|
|
|
|
|
o 0: 48b9aae0607f 'Z'
|
|
|
|
|
|
|
|
Revisions pinned by hiddenoverride are grandfathered in at upgrade time, so pin
|
|
|
|
a revision to test that.
|
|
|
|
|
|
|
|
$ hg up -q $B
|
|
|
|
$ hg up -q $F
|
|
|
|
$ tglogm
|
|
|
|
@ 6: a77c932a84af 'F'
|
|
|
|
|
|
|
|
|
o 5: 05eb30556340 'E'
|
|
|
|
|
|
2019-04-11 17:45:39 +03:00
|
|
|
| x 2: 917a077edb8d 'B' (Rewritten using rewrite into a77c932a84af)
|
2019-04-11 12:40:06 +03:00
|
|
|
| |
|
2019-04-11 17:45:39 +03:00
|
|
|
| x 1: ac2f7407182b 'A' (Rewritten using rewrite into 05eb30556340)
|
2019-04-11 12:40:06 +03:00
|
|
|
|/
|
|
|
|
o 0: 48b9aae0607f 'Z'
|
|
|
|
|
|
|
|
|
|
|
|
Enable visibility tracking.
|
|
|
|
|
|
|
|
$ setconfig visibility.enabled=true
|
|
|
|
$ hg debugvisibility start
|
|
|
|
$ tglogm
|
|
|
|
@ 6: a77c932a84af 'F'
|
|
|
|
|
|
|
|
|
o 5: 05eb30556340 'E'
|
|
|
|
|
|
2019-04-11 17:45:39 +03:00
|
|
|
| x 2: 917a077edb8d 'B' (Rewritten using rewrite into a77c932a84af)
|
2019-04-11 12:40:06 +03:00
|
|
|
| |
|
2019-04-11 17:45:39 +03:00
|
|
|
| x 1: ac2f7407182b 'A' (Rewritten using rewrite into 05eb30556340)
|
2019-04-11 12:40:06 +03:00
|
|
|
|/
|
|
|
|
o 0: 48b9aae0607f 'Z'
|
|
|
|
|
|
|
|
$ hg hide $A
|
|
|
|
hiding commit ac2f7407182b "A"
|
|
|
|
hiding commit 917a077edb8d "B"
|
|
|
|
2 changesets hidden
|
|
|
|
$ tglogm
|
|
|
|
@ 6: a77c932a84af 'F'
|
|
|
|
|
|
|
|
|
o 5: 05eb30556340 'E'
|
|
|
|
|
|
|
|
|
o 0: 48b9aae0607f 'Z'
|
|
|
|
|
|
|
|
Pinned revisions continue to get tracked in the background, but commits
|
|
|
|
that are hidden are only temporarily revealed when updated to.
|
|
|
|
$ hg up -q $C
|
|
|
|
$ tglogm
|
|
|
|
o 6: a77c932a84af 'F'
|
|
|
|
|
|
|
|
|
o 5: 05eb30556340 'E'
|
|
|
|
|
|
2019-04-11 17:45:39 +03:00
|
|
|
| @ 3: f102e5df2a1d 'C' (Rewritten using amend into 05eb30556340)
|
2019-04-11 12:40:06 +03:00
|
|
|
|/
|
|
|
|
o 0: 48b9aae0607f 'Z'
|
|
|
|
|
|
|
|
$ hg up -q $Z
|
|
|
|
$ tglogm
|
|
|
|
o 6: a77c932a84af 'F'
|
|
|
|
|
|
|
|
|
o 5: 05eb30556340 'E'
|
|
|
|
|
|
|
|
|
@ 0: 48b9aae0607f 'Z'
|
|
|
|
|
|
|
|
$ tglogm --config visibility.enabled=false
|
|
|
|
o 6: a77c932a84af 'F'
|
|
|
|
|
|
|
|
|
o 5: 05eb30556340 'E'
|
|
|
|
|
|
2019-04-11 17:45:39 +03:00
|
|
|
| x 3: f102e5df2a1d 'C' (Rewritten using amend into 05eb30556340)
|
2019-04-11 12:40:06 +03:00
|
|
|
|/
|
|
|
|
@ 0: 48b9aae0607f 'Z'
|
|
|
|
|
|
|
|
We can also downgrade permanently.
|
|
|
|
|
|
|
|
$ hg debugvisibility stop
|
|
|
|
$ tglogm
|
|
|
|
o 6: a77c932a84af 'F'
|
|
|
|
|
|
|
|
|
o 5: 05eb30556340 'E'
|
|
|
|
|
|
2019-04-11 17:45:39 +03:00
|
|
|
| x 3: f102e5df2a1d 'C' (Rewritten using amend into 05eb30556340)
|
2019-04-11 12:40:06 +03:00
|
|
|
|/
|
|
|
|
@ 0: 48b9aae0607f 'Z'
|
|
|
|
|
|
|
|
Re-upgrading includes the pinned revisions.
|
|
|
|
|
|
|
|
$ hg debugvisibility start
|
|
|
|
$ tglogm
|
|
|
|
o 6: a77c932a84af 'F'
|
|
|
|
|
|
|
|
|
o 5: 05eb30556340 'E'
|
|
|
|
|
|
2019-04-11 17:45:39 +03:00
|
|
|
| x 3: f102e5df2a1d 'C' (Rewritten using amend into 05eb30556340)
|
2019-04-11 12:40:06 +03:00
|
|
|
|/
|
|
|
|
@ 0: 48b9aae0607f 'Z'
|
|
|
|
|