mirror of
https://github.com/facebook/sapling.git
synced 2024-10-11 01:07:15 +03:00
616740cead
Help of status cmd defines status file of 'missing', what is called in fileset 'deleted'. To stay consistent this patch introduces missing() predicate which in fact is alias to 'deleted'.
198 lines
6.3 KiB
Perl
198 lines
6.3 KiB
Perl
$ hg init
|
|
|
|
Set up history and working copy
|
|
|
|
$ python $TESTDIR/generate-working-copy-states.py state 2 1
|
|
$ hg addremove -q --similarity 0
|
|
$ hg commit -m first
|
|
|
|
$ python $TESTDIR/generate-working-copy-states.py state 2 2
|
|
$ hg addremove -q --similarity 0
|
|
$ hg commit -m second
|
|
|
|
$ python $TESTDIR/generate-working-copy-states.py state 2 wc
|
|
$ hg addremove -q --similarity 0
|
|
$ hg forget *_*_*-untracked
|
|
$ rm *_*_missing-*
|
|
|
|
Test status
|
|
|
|
$ hg st -A 'set:modified()'
|
|
M content1_content1_content3-tracked
|
|
M content1_content2_content1-tracked
|
|
M content1_content2_content3-tracked
|
|
M missing_content2_content3-tracked
|
|
|
|
$ hg st -A 'set:added()'
|
|
A content1_missing_content1-tracked
|
|
A content1_missing_content3-tracked
|
|
A missing_missing_content3-tracked
|
|
|
|
$ hg st -A 'set:removed()'
|
|
R content1_content1_content1-untracked
|
|
R content1_content1_content3-untracked
|
|
R content1_content1_missing-untracked
|
|
R content1_content2_content1-untracked
|
|
R content1_content2_content2-untracked
|
|
R content1_content2_content3-untracked
|
|
R content1_content2_missing-untracked
|
|
R missing_content2_content2-untracked
|
|
R missing_content2_content3-untracked
|
|
R missing_content2_missing-untracked
|
|
|
|
$ hg st -A 'set:deleted()'
|
|
! content1_content1_missing-tracked
|
|
! content1_content2_missing-tracked
|
|
! content1_missing_missing-tracked
|
|
! missing_content2_missing-tracked
|
|
! missing_missing_missing-tracked
|
|
|
|
$ hg st -A 'set:missing()'
|
|
! content1_content1_missing-tracked
|
|
! content1_content2_missing-tracked
|
|
! content1_missing_missing-tracked
|
|
! missing_content2_missing-tracked
|
|
! missing_missing_missing-tracked
|
|
|
|
$ hg st -A 'set:unknown()'
|
|
? content1_missing_content1-untracked
|
|
? content1_missing_content3-untracked
|
|
? missing_missing_content3-untracked
|
|
|
|
$ hg st -A 'set:clean()'
|
|
C content1_content1_content1-tracked
|
|
C content1_content2_content2-tracked
|
|
C missing_content2_content2-tracked
|
|
|
|
Test log
|
|
|
|
$ hg log -T '{rev}\n' --stat 'set:modified()'
|
|
1
|
|
content1_content2_content1-tracked | 2 +-
|
|
content1_content2_content3-tracked | 2 +-
|
|
missing_content2_content3-tracked | 1 +
|
|
3 files changed, 3 insertions(+), 2 deletions(-)
|
|
|
|
0
|
|
content1_content1_content3-tracked | 1 +
|
|
content1_content2_content1-tracked | 1 +
|
|
content1_content2_content3-tracked | 1 +
|
|
3 files changed, 3 insertions(+), 0 deletions(-)
|
|
|
|
Largefiles doesn't crash
|
|
$ hg log -T '{rev}\n' --stat 'set:modified()' --config extensions.largefiles=
|
|
1
|
|
content1_content2_content1-tracked | 2 +-
|
|
content1_content2_content3-tracked | 2 +-
|
|
missing_content2_content3-tracked | 1 +
|
|
3 files changed, 3 insertions(+), 2 deletions(-)
|
|
|
|
0
|
|
content1_content1_content3-tracked | 1 +
|
|
content1_content2_content1-tracked | 1 +
|
|
content1_content2_content3-tracked | 1 +
|
|
3 files changed, 3 insertions(+), 0 deletions(-)
|
|
|
|
$ hg log -T '{rev}\n' --stat 'set:added()'
|
|
1
|
|
content1_missing_content1-tracked | 1 -
|
|
content1_missing_content3-tracked | 1 -
|
|
2 files changed, 0 insertions(+), 2 deletions(-)
|
|
|
|
0
|
|
content1_missing_content1-tracked | 1 +
|
|
content1_missing_content3-tracked | 1 +
|
|
2 files changed, 2 insertions(+), 0 deletions(-)
|
|
|
|
$ hg log -T '{rev}\n' --stat 'set:removed()'
|
|
1
|
|
content1_content2_content1-untracked | 2 +-
|
|
content1_content2_content2-untracked | 2 +-
|
|
content1_content2_content3-untracked | 2 +-
|
|
content1_content2_missing-untracked | 2 +-
|
|
missing_content2_content2-untracked | 1 +
|
|
missing_content2_content3-untracked | 1 +
|
|
missing_content2_missing-untracked | 1 +
|
|
7 files changed, 7 insertions(+), 4 deletions(-)
|
|
|
|
0
|
|
content1_content1_content1-untracked | 1 +
|
|
content1_content1_content3-untracked | 1 +
|
|
content1_content1_missing-untracked | 1 +
|
|
content1_content2_content1-untracked | 1 +
|
|
content1_content2_content2-untracked | 1 +
|
|
content1_content2_content3-untracked | 1 +
|
|
content1_content2_missing-untracked | 1 +
|
|
7 files changed, 7 insertions(+), 0 deletions(-)
|
|
|
|
$ hg log -T '{rev}\n' --stat 'set:deleted()'
|
|
1
|
|
content1_content2_missing-tracked | 2 +-
|
|
content1_missing_missing-tracked | 1 -
|
|
missing_content2_missing-tracked | 1 +
|
|
3 files changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
0
|
|
content1_content1_missing-tracked | 1 +
|
|
content1_content2_missing-tracked | 1 +
|
|
content1_missing_missing-tracked | 1 +
|
|
3 files changed, 3 insertions(+), 0 deletions(-)
|
|
|
|
$ hg log -T '{rev}\n' --stat 'set:unknown()'
|
|
1
|
|
content1_missing_content1-untracked | 1 -
|
|
content1_missing_content3-untracked | 1 -
|
|
2 files changed, 0 insertions(+), 2 deletions(-)
|
|
|
|
0
|
|
content1_missing_content1-untracked | 1 +
|
|
content1_missing_content3-untracked | 1 +
|
|
2 files changed, 2 insertions(+), 0 deletions(-)
|
|
|
|
$ hg log -T '{rev}\n' --stat 'set:clean()'
|
|
1
|
|
content1_content2_content2-tracked | 2 +-
|
|
missing_content2_content2-tracked | 1 +
|
|
2 files changed, 2 insertions(+), 1 deletions(-)
|
|
|
|
0
|
|
content1_content1_content1-tracked | 1 +
|
|
content1_content2_content2-tracked | 1 +
|
|
2 files changed, 2 insertions(+), 0 deletions(-)
|
|
|
|
Test revert
|
|
|
|
$ hg revert 'set:modified()'
|
|
reverting content1_content1_content3-tracked
|
|
reverting content1_content2_content1-tracked
|
|
reverting content1_content2_content3-tracked
|
|
reverting missing_content2_content3-tracked
|
|
|
|
$ hg revert 'set:added()'
|
|
forgetting content1_missing_content1-tracked
|
|
forgetting content1_missing_content3-tracked
|
|
forgetting missing_missing_content3-tracked
|
|
|
|
$ hg revert 'set:removed()'
|
|
undeleting content1_content1_content1-untracked
|
|
undeleting content1_content1_content3-untracked
|
|
undeleting content1_content1_missing-untracked
|
|
undeleting content1_content2_content1-untracked
|
|
undeleting content1_content2_content2-untracked
|
|
undeleting content1_content2_content3-untracked
|
|
undeleting content1_content2_missing-untracked
|
|
undeleting missing_content2_content2-untracked
|
|
undeleting missing_content2_content3-untracked
|
|
undeleting missing_content2_missing-untracked
|
|
|
|
$ hg revert 'set:deleted()'
|
|
reverting content1_content1_missing-tracked
|
|
reverting content1_content2_missing-tracked
|
|
forgetting content1_missing_missing-tracked
|
|
reverting missing_content2_missing-tracked
|
|
forgetting missing_missing_missing-tracked
|
|
|
|
$ hg revert 'set:unknown()'
|
|
|
|
$ hg revert 'set:clean()'
|