Mercurial > hg-stable
view tests/test-issue1306.t @ 51928:ad83e4f9b40e
typing: correct pytype mistakes in `mercurial/vfs.py`
With the previous changes in this series (prior to merging the *.pyi file), this
wasn't too bad- the only definitively wrong things were the `data` argument to
`writelines()`, and the return type on `backgroundclosing()` (both of these
errors were dropped in the previous commit; for some reason pytype doesn't like
`contextlib._GeneratorContextManager`, even though that's what it determined it
is):
File "/mnt/c/Users/Matt/hg/mercurial/vfs.py", line 411, in abstractvfs:
Bad return type 'contextlib._GeneratorContextManager' for generator function abstractvfs.backgroundclosing [bad-yield-annotation]
Expected Generator, Iterable or Iterator
PyCharm thinks this is `Generator[backgroundfilecloser], Any, None]`, which can
be reduced to `Iterator[backgroundfilecloser]`, but pytype flagged the line that
calls `yield` without an argument unless it's also `Optional`. PyCharm is happy
either way. For some reason, `Iterable` didn't work for pytype:
File "/mnt/c/Users/Matt/hg/mercurial/vfs.py", line 390, in abstractvfs:
Function contextlib.contextmanager was called with the wrong arguments [wrong-arg-types]
Expected: (func: Callable[[Any], Iterator])
Actually passed: (func: Callable[[Any, Any, Any], Iterable[Optional[Any]]])
Attributes of protocol Iterator[_T_co] are not implemented on Iterable[Optional[Any]]: __next__
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Fri, 20 Sep 2024 16:36:28 -0400 |
parents | eb586ed5d8ce |
children |
line wrap: on
line source
https://bz.mercurial-scm.org/1306 Initialize remote repo with branches: $ hg init remote $ cd remote $ echo a > a $ hg ci -Ama adding a $ hg branch br marked working directory as branch br (branches are permanent and global, did you want a bookmark?) $ hg ci -Amb $ echo c > c $ hg ci -Amc adding c $ hg log changeset: 2:ae3d9c30ec50 branch: br tag: tip user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: c changeset: 1:3f7f930ca414 branch: br user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: b changeset: 0:cb9a9f314b8b user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: a $ cd .. Try cloning -r branch: $ hg clone -rbr remote local1 adding changesets adding manifests adding file changes added 3 changesets with 2 changes to 2 files new changesets cb9a9f314b8b:ae3d9c30ec50 updating to branch br 2 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg -R local1 parents changeset: 2:ae3d9c30ec50 branch: br tag: tip user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: c Try cloning -rother clone#branch: $ hg clone -r0 remote#br local2 adding changesets adding manifests adding file changes added 3 changesets with 2 changes to 2 files new changesets cb9a9f314b8b:ae3d9c30ec50 updating to branch default 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg -R local2 parents changeset: 0:cb9a9f314b8b user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: a Try cloning -r1 clone#branch: $ hg clone -r1 remote#br local3 adding changesets adding manifests adding file changes added 3 changesets with 2 changes to 2 files new changesets cb9a9f314b8b:ae3d9c30ec50 updating to branch br 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg -R local3 parents changeset: 1:3f7f930ca414 branch: br user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: b