sparse: rework debugsparse's interface
hg debugsparse supports arguments like --include, similar to `hg
tracked --addinclude` or `hg log --include`. But in `hg debugsparse`,
the pattern is not an argument of the flag, instead the patterns are
the anonymous command line arguments.
Not only is this surprising, it makes it impossible to use --include
and --exclude in the same invocation, or --reset --exclude.
So I propose making debugsparse making --include, --exclude take an
argument, and rejecting anonymous command line arguments, as well as
allowing mixing several of these flags in one invocations.
Differential Revision: https://phab.mercurial-scm.org/D12155
$ cat >> $HGRCPATH << EOF
> [extensions]
> fastannotate=
> EOF
$ hg init repo
$ cd repo
changes to whitespaces
$ cat >> a << EOF
> 1
>
>
> 2
> EOF
$ hg commit -qAm '1'
$ cat > a << EOF
> 1
>
> 2
>
>
> 3
> EOF
$ hg commit -m 2
$ hg fastannotate -wB a
0: 1
0:
1: 2
0:
1:
1: 3