##// END OF EJS Templates
localrepo: handle ValueError during repository opening...
localrepo: handle ValueError during repository opening Python 3.8 can raise ValueError on attempt of an I/O operation against an illegal path. This was causing test-remotefilelog-gc.t to fail on Python 3.8. This commit teaches repository opening to handle ValueError and re-raise an Abort on failure. An arguably better solution would be to implement this logic in the vfs layer. But that seems like a bag of worms and I don't want to go down that rabbit hole. Until users report uncaught ValueError exceptions in the wild, I think it is fine to patch this at the only occurrence our test harness is finding it. Differential Revision: https://phab.mercurial-scm.org/D7944

File last commit:

r33355:9087f999 default
r45469:9e5b4dbe default
Show More
test-sparse-verbose-json.t
82 lines | 1.7 KiB | text/troff | Tads3Lexer
/ tests / test-sparse-verbose-json.t
test sparse with --verbose and -T json
$ hg init myrepo
$ cd myrepo
$ cat > .hg/hgrc <<EOF
> [extensions]
> sparse=
> 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 debugsparse --include 'hide' -Tjson
[
{
"exclude_rules_added": 0,
"files_added": 0,
"files_conflicting": 0,
"files_dropped": 1,
"include_rules_added": 1,
"profiles_added": 0
}
]
$ hg debugsparse --clear-rules
$ hg debugsparse --include 'hide' --verbose
removing show
Profiles changed: 0
Include rules changed: 1
Exclude rules changed: 0
$ hg debugsparse --reset -Tjson
[
{
"exclude_rules_added": 0,
"files_added": 1,
"files_conflicting": 0,
"files_dropped": 0,
"include_rules_added": -1,
"profiles_added": 0
}
]
$ hg debugsparse --include 'hide'
$ hg debugsparse --reset --verbose
getting show
Profiles changed: 0
Include rules changed: -1
Exclude rules changed: 0
Verifying that problematic files still allow us to see the deltas when forcing:
$ hg debugsparse --include 'show*'
$ touch hide
$ hg debugsparse --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 debugsparse --include 'show*' --force
pending changes to 'hide'
$ hg debugsparse --delete 'show*' --force --verbose
pending changes to 'hide'
Profiles changed: 0
Include rules changed: -1
Exclude rules changed: 0