mirror of
https://github.com/facebook/sapling.git
synced 2024-10-11 17:27:53 +03:00
992bb85644
Summary: Add a config option `format.usetreestate`, which would turn on the new treestate for new repos. Treestate does not need manually maintaining "copymap", "otherparentset", "nonnormalset". The one single tree is the source of truth of everything. So some code like `copymap.pop` etc. are disabled on treestate path. Reviewed By: markbt Differential Revision: D7909175 fbshipit-source-id: 96a405fccd4099cefc152ec17204cb5407efbe7e
75 lines
1022 B
Perl
75 lines
1022 B
Perl
#testcases treestate-on treestate-off
|
|
|
|
#if treestate-on
|
|
$ setconfig format.usetreestate=1
|
|
#else
|
|
$ setconfig format.usetreestate=0
|
|
#endif
|
|
|
|
$ HGENCODING=utf-8
|
|
$ export HGENCODING
|
|
|
|
$ try() {
|
|
> hg debugrevspec --debug $@
|
|
> }
|
|
|
|
$ log() {
|
|
> hg log --template '{rev}\n' -r "$1"
|
|
> }
|
|
|
|
$ hg init repo
|
|
$ cd repo
|
|
|
|
$ try 'p1()'
|
|
(func
|
|
(symbol 'p1')
|
|
None)
|
|
* set:
|
|
<baseset []>
|
|
$ try 'p2()'
|
|
(func
|
|
(symbol 'p2')
|
|
None)
|
|
* set:
|
|
<baseset []>
|
|
$ try 'parents()'
|
|
(func
|
|
(symbol 'parents')
|
|
None)
|
|
* set:
|
|
<baseset+ []>
|
|
|
|
null revision
|
|
$ log 'p1()'
|
|
$ log 'p2()'
|
|
$ log 'parents()'
|
|
|
|
working dir with a single parent
|
|
$ echo a > a
|
|
$ hg ci -Aqm0
|
|
$ log 'p1()'
|
|
0
|
|
$ log 'tag() and p1()'
|
|
$ log 'p2()'
|
|
$ log 'parents()'
|
|
0
|
|
$ log 'tag() and parents()'
|
|
|
|
merge in progress
|
|
$ echo b > b
|
|
$ hg ci -Aqm1
|
|
$ hg up -q 0
|
|
$ echo c > c
|
|
$ hg ci -Aqm2
|
|
$ hg merge -q
|
|
$ log 'p1()'
|
|
2
|
|
$ log 'p2()'
|
|
1
|
|
$ log 'tag() and p2()'
|
|
$ log 'parents()'
|
|
1
|
|
2
|
|
|
|
$ cd ..
|