sapling/tests/test-sparse-verbose-json.t
Martijn Pieters 05d97a9461 sparse: provide a change summary on file and rule count deltas
Summary:
This allows a third-party tool like Buck report more detail on what a sparse
command actually achieved.

Test Plan: Run the test suite.

Reviewers: #sourcecontrol, durham, rmcelroy, ikostia

Reviewed By: ikostia

Subscribers: mjpieters

Differential Revision: https://phabricator.intern.facebook.com/D4962550

Tasks: 17150508

Tags: autosparse

Signature: t1:4962550:1493307403:d14e16d079121688a4eb69f0d69cd02ab55c4936
2017-04-27 08:37:13 -07:00

83 lines
1.7 KiB
Perl

test sparse with --verbose and -T json
$ hg init myrepo
$ cd myrepo
$ cat > .hg/hgrc <<EOF
> [extensions]
> sparse=$TESTDIR/../hgext3rd/sparse.py
> strip=
> EOF
$ echo a > show
$ echo x > hide
$ hg ci -Aqm 'initial'
$ echo b > show
$ echo y > hide
$ echo aa > show2
$ echo xx > hide2
$ hg ci -Aqm 'two'
Verify basic --include and --reset
$ hg up -q 0
$ hg sparse --include 'hide' -Tjson
[
{
"exclude_rules_added": 0,
"files_added": 0,
"files_conflicting": 0,
"files_dropped": 1,
"include_rules_added": 1,
"profiles_added": 0
}
]
$ hg sparse --clear-rules
$ hg sparse --include 'hide' --verbose
removing show
Profile # change: 0
Include rule # change: 1
Exclude rule # change: 0
$ hg sparse --reset -Tjson
[
{
"exclude_rules_added": 0,
"files_added": 1,
"files_conflicting": 0,
"files_dropped": 0,
"include_rules_added": -1,
"profiles_added": 0
}
]
$ hg sparse --include 'hide'
$ hg sparse --reset --verbose
getting show
Profile # change: 0
Include rule # change: -1
Exclude rule # change: 0
Verifying that problematic files still allow us to see the deltas when forcing:
$ hg sparse --include 'show*'
$ touch hide
$ hg sparse --delete 'show*' --force -Tjson
pending changes to 'hide'
[
{
"exclude_rules_added": 0,
"files_added": 0,
"files_conflicting": 1,
"files_dropped": 0,
"include_rules_added": -1,
"profiles_added": 0
}
]
$ hg sparse --include 'show*' --force
pending changes to 'hide'
$ hg sparse --delete 'show*' --force --verbose
pending changes to 'hide'
Profile # change: 0
Include rule # change: -1
Exclude rule # change: 0