Mercurial > hg
annotate tests/test-revlog-packentry.t @ 51871:cfd30df0f8e4
bundlerepo: fix mismatches with repository and revlog classes
Both pytype and PyCharm complained that `write()` and `_write()` in the
bundlephasecache class aren't proper overrides- indeed they seem to be missing
an argument that the base class has.
PyCharm and pytype also complained that the `revlog.revlog` class doesn't have a
`_chunk()` method. That looks like it was moved from revlog to `_InnerRevlog`
back in e8ad6d8de8b8, and wasn't caught because this module wasn't type checked.
However, I couldn't figure out a syntax with `revlog.revlog._inner._chunk(self, rev)`,
as it complained about passing too many args. `bundlerevlog._rawtext()` uses
this `super(...)` style to call the super class, so hopefully that works, even
with the wonky dynamic subclassing. The revlog class needed the `_InnerRevlog`
field typed because it isn't set in the constructor.
Finally, the vfs type hints look broken. This initially failed with:
File "/mnt/c/Users/Matt/hg/mercurial/bundlerepo.py", line 65, in __init__: Function readonlyvfs.__init__ was called with the wrong arguments [wrong-arg-types]
Expected: (self, vfs: mercurial.vfs.vfs)
Actually passed: (self, vfs: Callable)
Called from (traceback):
line 232, in dirlog
line 214, in __init__
I don't see a raw Callable, but I tried changing some of the vfs args to be typed
as `vfsmod.abstractvfs`, but that class doesn't have `options`, so it failed
elsewhere. `readonlyvfs` isn't a subclass of `vfs` (it's a subclass of
`abstractvfs`), so I'm not sure how to handle that. It would be a shame to have
to make a union of vfs subclasses (but not all of them have `options` either).
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sat, 03 Aug 2024 01:33:13 -0400 |
parents | 4141951dacff |
children |
rev | line source |
---|---|
11919
67fb33eb3add
tests: unify test-revlog-packentry
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5338
diff
changeset
|
1 $ hg init repo |
67fb33eb3add
tests: unify test-revlog-packentry
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5338
diff
changeset
|
2 $ cd repo |
5338
f87685355c9c
revlog: fix revlogio.packentry corner case
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
3 |
11919
67fb33eb3add
tests: unify test-revlog-packentry
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5338
diff
changeset
|
4 $ touch foo |
67fb33eb3add
tests: unify test-revlog-packentry
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5338
diff
changeset
|
5 $ hg ci -Am 'add foo' |
67fb33eb3add
tests: unify test-revlog-packentry
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5338
diff
changeset
|
6 adding foo |
67fb33eb3add
tests: unify test-revlog-packentry
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5338
diff
changeset
|
7 |
67fb33eb3add
tests: unify test-revlog-packentry
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5338
diff
changeset
|
8 $ hg up -C null |
67fb33eb3add
tests: unify test-revlog-packentry
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5338
diff
changeset
|
9 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
5338
f87685355c9c
revlog: fix revlogio.packentry corner case
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
10 |
11919
67fb33eb3add
tests: unify test-revlog-packentry
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5338
diff
changeset
|
11 this should be stored as a delta against rev 0 |
5338
f87685355c9c
revlog: fix revlogio.packentry corner case
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
12 |
11919
67fb33eb3add
tests: unify test-revlog-packentry
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5338
diff
changeset
|
13 $ echo foo bar baz > foo |
67fb33eb3add
tests: unify test-revlog-packentry
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5338
diff
changeset
|
14 $ hg ci -Am 'add foo again' |
67fb33eb3add
tests: unify test-revlog-packentry
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5338
diff
changeset
|
15 adding foo |
67fb33eb3add
tests: unify test-revlog-packentry
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5338
diff
changeset
|
16 created new head |
5338
f87685355c9c
revlog: fix revlogio.packentry corner case
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
17 |
14182
ec5886db9dc6
tests: fix deprecated use of hg debugdata/debugindex
Sune Foldager <cryo@cyanite.org>
parents:
11919
diff
changeset
|
18 $ hg debugindex foo |
49252
4141951dacff
debugindex: rename the parent column to mention nodeid
Pierre-Yves DAVID <pierre-yves.david@octobus.net>
parents:
49251
diff
changeset
|
19 rev linkrev nodeid p1-nodeid p2-nodeid |
37283
d4e62df1c73d
debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37282
diff
changeset
|
20 0 0 b80de5d13875 000000000000 000000000000 |
d4e62df1c73d
debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37282
diff
changeset
|
21 1 1 0376abec49b8 000000000000 000000000000 |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
14182
diff
changeset
|
22 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
14182
diff
changeset
|
23 $ cd .. |