annotate hgext/narrow/narrowrepo.py @ 49753:ff7134e03629

peer: have `repo.peer` take an optional `path` argument We are ready to start to actually set the value now.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Sat, 03 Dec 2022 00:16:07 +0100
parents 6000f5b25c9b
children 3a2df812e1c7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
1 # narrowrepo.py - repository which supports narrow revlogs, lazy loading
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
2 #
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
3 # Copyright 2017 Google, Inc.
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
4 #
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
5 # This software may be used and distributed according to the terms of the
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
6 # GNU General Public License version 2 or any later version.
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
7
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
8
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40074
diff changeset
9 from mercurial import wireprototypes
39933
d5498db5f86a narrow: move the wireprotocol narrow capability name to core
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39766
diff changeset
10
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40074
diff changeset
11 from . import narrowdirstate
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 40074
diff changeset
12
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
13
36466
a8b4d7673d8e narrow: move checking for narrow requirement into _narrowmatch()
Martin von Zweigbergk <martinvonz@google.com>
parents: 36464
diff changeset
14 def wraprepo(repo):
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
15 """Enables narrow clone functionality on a single local repository."""
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
16
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
17 class narrowrepository(repo.__class__):
38128
1cba497491be narrow: only wrap dirstate functions once, instead of per-reposetup
Kyle Lippincott <spectral@google.com>
parents: 37380
diff changeset
18 def _makedirstate(self):
1cba497491be narrow: only wrap dirstate functions once, instead of per-reposetup
Kyle Lippincott <spectral@google.com>
parents: 37380
diff changeset
19 dirstate = super(narrowrepository, self)._makedirstate()
1cba497491be narrow: only wrap dirstate functions once, instead of per-reposetup
Kyle Lippincott <spectral@google.com>
parents: 37380
diff changeset
20 return narrowdirstate.wrapdirstate(self, dirstate)
1cba497491be narrow: only wrap dirstate functions once, instead of per-reposetup
Kyle Lippincott <spectral@google.com>
parents: 37380
diff changeset
21
49753
ff7134e03629 peer: have `repo.peer` take an optional `path` argument
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48875
diff changeset
22 def peer(self, path=None):
ff7134e03629 peer: have `repo.peer` take an optional `path` argument
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48875
diff changeset
23 peer = super(narrowrepository, self).peer(path=path)
40074
f7011b44d205 wireprotoserver: move narrow capabilities to wireprototypes.py
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39934
diff changeset
24 peer._caps.add(wireprototypes.NARROWCAP)
f7011b44d205 wireprotoserver: move narrow capabilities to wireprototypes.py
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39934
diff changeset
25 peer._caps.add(wireprototypes.ELLIPSESCAP)
39528
2862e9b868c5 narrow: check "narrow" wire protocol capability, not bundle2 capability
Martin von Zweigbergk <martinvonz@google.com>
parents: 38872
diff changeset
26 return peer
2862e9b868c5 narrow: check "narrow" wire protocol capability, not bundle2 capability
Martin von Zweigbergk <martinvonz@google.com>
parents: 38872
diff changeset
27
36079
a2a6e724d61a narrow: import experimental extension from narrowhg revision cb51d673e9c5
Augie Fackler <augie@google.com>
parents:
diff changeset
28 repo.__class__ = narrowrepository