##// END OF EJS Templates
revlog: subclass the new `repository.iverifyproblem` Protocol class...
revlog: subclass the new `repository.iverifyproblem` Protocol class This is the same transformation as 3a90a6fd710d did for dirstate, but the CamelCase naming was already cleaned up here. We shouldn't have to explicitly subclass, but I'm doing so to test the interplay of regular attributes and the `attrs` class. Also, PyCharm has a nifty feature that puts a jump point in the gutter to navigate back and forth between the base class and subclasses (and override functions and base class functions) when there's an explicit subclassing. Additionally, PyCharm will immediately flag signature mismatches without a 40m pytype run.

File last commit:

r47790:f851c833 default
r53365:4ef6dbc2 default
Show More
test-narrow-trackedcmd.t
231 lines | 5.7 KiB | text/troff | Tads3Lexer
/ tests / test-narrow-trackedcmd.t
Pulkit Goyal
narrow: add '--import-rules' flag to tracked command...
r39471 #testcases flat tree
$ . "$TESTDIR/narrow-library.sh"
#if tree
$ cat << EOF >> $HGRCPATH
> [experimental]
> treemanifest = 1
> EOF
#endif
$ hg init master
$ cd master
$ cat >> .hg/hgrc <<EOF
> [narrow]
> serveellipses=True
> EOF
$ mkdir inside
$ echo 'inside' > inside/f
$ hg add inside/f
$ hg commit -m 'add inside'
$ mkdir widest
$ echo 'widest' > widest/f
$ hg add widest/f
$ hg commit -m 'add widest'
$ mkdir outside
$ echo 'outside' > outside/f
$ hg add outside/f
$ hg commit -m 'add outside'
$ cd ..
narrow clone the inside file
$ hg clone --narrow ssh://user@dummy/master narrow --include inside
requesting all changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 1 changes to 1 files
new changesets *:* (glob)
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd narrow
$ hg tracked
I path:inside
Joerg Sonnenberger
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems...
r45218 $ ls -A
.hg
Pulkit Goyal
narrow: add '--import-rules' flag to tracked command...
r39471 inside
$ cat inside/f
inside
$ cd ..
add more upstream files which we will include in a wider narrow spec
$ cd master
$ mkdir wider
$ echo 'wider' > wider/f
$ hg add wider/f
$ echo 'widest v2' > widest/f
$ hg commit -m 'add wider, update widest'
$ echo 'widest v3' > widest/f
$ hg commit -m 'update widest v3'
$ echo 'inside v2' > inside/f
$ hg commit -m 'update inside'
$ mkdir outside2
$ echo 'outside2' > outside2/f
$ hg add outside2/f
$ hg commit -m 'add outside2'
$ echo 'widest v4' > widest/f
$ hg commit -m 'update widest v4'
$ hg log -T "{if(ellipsis, '...')}{rev}: {desc}\n"
7: update widest v4
6: add outside2
5: update inside
4: update widest v3
3: add wider, update widest
2: add outside
1: add widest
0: add inside
$ cd ..
Testing the --import-rules flag of `hg tracked` command
$ cd narrow
$ hg tracked --import-rules
hg tracked: option --import-rules requires argument
hg tracked [OPTIONS]... [REMOTE]
show or change the current narrowspec
options ([+] can be repeated):
Martin von Zweigbergk
help: show "[no-]" only for default-on Flags...
r41045 --addinclude VALUE [+] new paths to include
--removeinclude VALUE [+] old paths to no longer include
Martin von Zweigbergk
narrow: add option for automatically removing unused includes...
r43215 --auto-remove-includes automatically choose unused includes to
remove
Martin von Zweigbergk
help: show "[no-]" only for default-on Flags...
r41045 --addexclude VALUE [+] new paths to exclude
--import-rules VALUE import narrowspecs from a file
--removeexclude VALUE [+] old paths to no longer exclude
--clear whether to replace the existing narrowspec
--force-delete-local-changes forces deletion of local changes when
Martin von Zweigbergk
help: hide default value for default-off flags...
r41046 narrowing
Martin von Zweigbergk
narrow: add --no-backup option for narrowing...
r47206 --[no-]backup back up local changes when narrowing
(default: on)
Martin von Zweigbergk
narrow: detect if narrowspec was changed in a different share...
r41072 --update-working-copy update working copy when the store has
changed
Martin von Zweigbergk
help: show "[no-]" only for default-on Flags...
r41045 -e --ssh CMD specify ssh command to use
--remotecmd CMD specify hg command to run on the remote side
--insecure do not verify server certificate (ignoring
web.cacerts config)
Pulkit Goyal
narrow: add '--import-rules' flag to tracked command...
r39471
(use 'hg tracked -h' to show more help)
Martin von Zweigbergk
error: use detailed exit code 10 for command errors...
r46888 [10]
Pulkit Goyal
narrow: add '--import-rules' flag to tracked command...
r39471 $ hg tracked --import-rules doesnotexist
abort: cannot read narrowspecs from '$TESTTMP/narrow/doesnotexist': $ENOENT$
Martin von Zweigbergk
errors: raise more specifc errors from narrowcommands...
r46733 [50]
Pulkit Goyal
narrow: add '--import-rules' flag to tracked command...
r39471
$ cat > specs <<EOF
> %include foo
> [include]
> path:widest/
> [exclude]
> path:inside/
> EOF
$ hg tracked --import-rules specs
abort: including other spec files using '%include' is not supported in narrowspec
Martin von Zweigbergk
errors: raise more specifc errors from narrowcommands...
r46733 [10]
Pulkit Goyal
narrow: add '--import-rules' flag to tracked command...
r39471
$ cat > specs <<EOF
> [include]
> outisde
> [exclude]
> inside
> EOF
$ hg tracked --import-rules specs
comparing with ssh://user@dummy/master
searching for changes
looking for local changes to affected paths
deleting data/inside/f.i
deleting meta/inside/00manifest.i (tree !)
Martin von Zweigbergk
narrow: add more status messages when narrowing...
r47800 deleting unwanted files from working copy
Pulkit Goyal
narrow: add '--import-rules' flag to tracked command...
r39471 saved backup bundle to $TESTTMP/narrow/.hg/strip-backup/*-widen.hg (glob)
adding changesets
adding manifests
adding file changes
added 2 changesets with 0 changes to 0 files
$ hg tracked
I path:outisde
X path:inside
Testing the --import-rules flag with --addinclude and --addexclude
$ cat > specs <<EOF
> [include]
> widest
> EOF
$ hg tracked --import-rules specs --addinclude 'wider/'
comparing with ssh://user@dummy/master
searching for changes
saved backup bundle to $TESTTMP/narrow/.hg/strip-backup/*-widen.hg (glob)
adding changesets
adding manifests
adding file changes
added 3 changesets with 1 changes to 1 files
$ hg tracked
I path:outisde
I path:wider
I path:widest
X path:inside
$ cat > specs <<EOF
> [exclude]
> outside2
> EOF
$ hg tracked --import-rules specs --addexclude 'widest'
comparing with ssh://user@dummy/master
searching for changes
looking for local changes to affected paths
deleting data/widest/f.i
deleting meta/widest/00manifest.i (tree !)
Martin von Zweigbergk
narrow: add more status messages when narrowing...
r47800 deleting unwanted files from working copy
Pulkit Goyal
narrow: add '--import-rules' flag to tracked command...
r39471 $ hg tracked
I path:outisde
I path:wider
X path:inside
X path:outside2
X path:widest
$ hg tracked --import-rules specs --clear
Martin von Zweigbergk
narrow: replace "ui.warn(); return 1" by "raise error.Abort()"...
r41056 abort: the --clear option is not yet supported
Martin von Zweigbergk
errors: raise more specifc errors from narrowcommands...
r46733 [10]
Pulkit Goyal
narrow: add '--import-rules' flag to tracked command...
r39471
Testing with passing a out of wdir file
$ cat > ../nspecs <<EOF
> [include]
> widest
> EOF
$ hg tracked --import-rules ../nspecs
comparing with ssh://user@dummy/master
searching for changes
saved backup bundle to $TESTTMP/narrow/.hg/strip-backup/*-widen.hg (glob)
adding changesets
adding manifests
adding file changes
added 3 changesets with 0 changes to 0 files
Pulkit Goyal
narrow: fix command name in error messsage...
r41872
$ cd ..
Testing tracked command on a non-narrow repo
$ hg init non-narrow
$ cd non-narrow
$ hg tracked --addinclude foobar
Martin von Zweigbergk
narrow: fix typo "respositories"...
r43075 abort: the tracked command is only supported on repositories cloned with --narrow
Martin von Zweigbergk
errors: raise more specifc errors from narrowcommands...
r46733 [10]