annotate hgext/largefiles/uisetup.py @ 36753:742ce6fbc109 stable

wireproto: move command permissions dict out of hgweb_mod The operation type associated with wire protocol commands is supposed to be defined in a dictionary so it can be used for permissions checking. Since this metadata is closely associated with wire protocol commands themselves, it makes sense to define it in the same module where wire protocol commands are defined. This commit moves hgweb_mod.perms to wireproto.PERMISSIONS and updates most references in the code to use the new home. The old symbol remains an alias for the new symbol. Tests pass with the code pointing at the old symbol. So this should be API compatible for extensions. As part of the code move, we split up the assignment to the dict so it is next to the @wireprotocommand. This reinforces that a @wireprotocommand should have an entry in this dict. In the future, we'll want to declare permissions as part of the @wireprotocommand decorator. But this isn't appropriate for the stable branch.
author Gregory Szorc <gregory.szorc@gmail.com>
date Tue, 20 Feb 2018 18:53:39 -0800
parents cf841f2b5a72
children e3c228b4510d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
1 # Copyright 2009-2010 Gregory P. Ward
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
2 # Copyright 2009-2010 Intelerad Medical Systems Incorporated
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
3 # Copyright 2010-2011 Fog Creek Software
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
4 # Copyright 2010-2011 Unity Technologies
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
5 #
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
6 # This software may be used and distributed according to the terms of the
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
7 # GNU General Public License version 2 or any later version.
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
8
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
9 '''setup for largefiles extension: uisetup'''
29315
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
10 from __future__ import absolute_import
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
11
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
12 from mercurial.i18n import _
29315
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
13
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
14 from mercurial.hgweb import (
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
15 webcommands,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
16 )
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
17
29315
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
18 from mercurial import (
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
19 archival,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
20 cmdutil,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
21 commands,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
22 copies,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
23 exchange,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
24 extensions,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
25 filemerge,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
26 hg,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
27 httppeer,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
28 merge,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
29 scmutil,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
30 sshpeer,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
31 subrepo,
35303
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 34075
diff changeset
32 upgrade,
35564
cf841f2b5a72 largefiles: add support for 'largefiles://' url scheme
Boris Feld <boris.feld@octobus.net>
parents: 35507
diff changeset
33 url,
29315
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
34 wireproto,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
35 )
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
36
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
37 from . import (
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
38 overrides,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
39 proto,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
40 )
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
41
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
42 def uisetup(ui):
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
43 # Disable auto-status for some commands which assume that all
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
44 # files in the result are under Mercurial's control
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
45
15170
c1a4a3220711 largefiles: fix over-long lines
Matt Mackall <mpm@selenic.com>
parents: 15169
diff changeset
46 entry = extensions.wrapcommand(commands.table, 'add',
16247
d87d9d8a8e03 largefiles: remove use of underscores that breaks coding convention
Na'Tosha Bard <natosha@unity3d.com>
parents: 16093
diff changeset
47 overrides.overrideadd)
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
48 addopt = [('', 'large', None, _('add as largefile')),
15944
f19d5c852f9b largefiles: add --normal option to hg add (issue3061)
Na'Tosha Bard <natosha@unity3d.com>
parents: 15674
diff changeset
49 ('', 'normal', None, _('add as normal file')),
15627
9d7a83a42f8c largefiles: fix indentation
Martin Geisler <mg@aragost.com>
parents: 15383
diff changeset
50 ('', 'lfsize', '', _('add all files above this size '
9d7a83a42f8c largefiles: fix indentation
Martin Geisler <mg@aragost.com>
parents: 15383
diff changeset
51 '(in megabytes) as largefiles '
9d7a83a42f8c largefiles: fix indentation
Martin Geisler <mg@aragost.com>
parents: 15383
diff changeset
52 '(default: 10)'))]
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
53 entry[1].extend(addopt)
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
54
17658
a02c1ffddae9 largefiles: handle commit -A properly, after a --large commit (issue3542)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17601
diff changeset
55 # The scmutil function is called both by the (trivial) addremove command,
a02c1ffddae9 largefiles: handle commit -A properly, after a --large commit (issue3542)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17601
diff changeset
56 # and in the process of handling commit -A (issue3542)
34075
a9d8caf95941 largefiles: remove unused assignments from wrapfunction()
Martin von Zweigbergk <martinvonz@google.com>
parents: 32377
diff changeset
57 extensions.wrapfunction(scmutil, 'addremove', overrides.scmutiladdremove)
23886
5ce8dcd05dc4 largefiles: enable subrepo support for add
Matt Harbison <matt_harbison@yahoo.com>
parents: 23837
diff changeset
58 extensions.wrapfunction(cmdutil, 'add', overrides.cmdutiladd)
23782
304e69cb1ee9 largefiles: enable subrepo support for remove
Matt Harbison <matt_harbison@yahoo.com>
parents: 23441
diff changeset
59 extensions.wrapfunction(cmdutil, 'remove', overrides.cmdutilremove)
23837
2b79d124a12f largefiles: enable subrepo support for forget
Matt Harbison <matt_harbison@yahoo.com>
parents: 23782
diff changeset
60 extensions.wrapfunction(cmdutil, 'forget', overrides.cmdutilforget)
16515
12dabc22de77 largefiles: fix status -S reporting of subrepos (issue3231)
Matt Harbison <matt_harbison@yahoo.com>
parents: 16449
diff changeset
61
24230
23438bceba04 largefiles: report the source of copied/moved largefiles in status -C
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
62 extensions.wrapfunction(copies, 'pathcopies', overrides.copiespathcopies)
23438bceba04 largefiles: report the source of copied/moved largefiles in status -C
Matt Harbison <matt_harbison@yahoo.com>
parents: 23886
diff changeset
63
35303
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 34075
diff changeset
64 extensions.wrapfunction(upgrade, 'preservedrequirements',
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 34075
diff changeset
65 overrides.upgraderequirements)
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 34075
diff changeset
66
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 34075
diff changeset
67 extensions.wrapfunction(upgrade, 'supporteddestrequirements',
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 34075
diff changeset
68 overrides.upgraderequirements)
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 34075
diff changeset
69
16515
12dabc22de77 largefiles: fix status -S reporting of subrepos (issue3231)
Matt Harbison <matt_harbison@yahoo.com>
parents: 16449
diff changeset
70 # Subrepos call status function
15170
c1a4a3220711 largefiles: fix over-long lines
Matt Mackall <mpm@selenic.com>
parents: 15169
diff changeset
71 entry = extensions.wrapcommand(commands.table, 'status',
16247
d87d9d8a8e03 largefiles: remove use of underscores that breaks coding convention
Na'Tosha Bard <natosha@unity3d.com>
parents: 16093
diff changeset
72 overrides.overridestatus)
34075
a9d8caf95941 largefiles: remove unused assignments from wrapfunction()
Martin von Zweigbergk <martinvonz@google.com>
parents: 32377
diff changeset
73 extensions.wrapfunction(subrepo.hgsubrepo, 'status',
a9d8caf95941 largefiles: remove unused assignments from wrapfunction()
Martin von Zweigbergk <martinvonz@google.com>
parents: 32377
diff changeset
74 overrides.overridestatusfn)
16515
12dabc22de77 largefiles: fix status -S reporting of subrepos (issue3231)
Matt Harbison <matt_harbison@yahoo.com>
parents: 16449
diff changeset
75
15170
c1a4a3220711 largefiles: fix over-long lines
Matt Mackall <mpm@selenic.com>
parents: 15169
diff changeset
76 entry = extensions.wrapcommand(commands.table, 'log',
16247
d87d9d8a8e03 largefiles: remove use of underscores that breaks coding convention
Na'Tosha Bard <natosha@unity3d.com>
parents: 16093
diff changeset
77 overrides.overridelog)
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
78 entry = extensions.wrapcommand(commands.table, 'rollback',
16247
d87d9d8a8e03 largefiles: remove use of underscores that breaks coding convention
Na'Tosha Bard <natosha@unity3d.com>
parents: 16093
diff changeset
79 overrides.overriderollback)
15170
c1a4a3220711 largefiles: fix over-long lines
Matt Mackall <mpm@selenic.com>
parents: 15169
diff changeset
80 entry = extensions.wrapcommand(commands.table, 'verify',
16247
d87d9d8a8e03 largefiles: remove use of underscores that breaks coding convention
Na'Tosha Bard <natosha@unity3d.com>
parents: 16093
diff changeset
81 overrides.overrideverify)
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
82
18547
2e3ec9e6ee6e largefiles: make verify --lfa and --lfc work without --large
Mads Kiilerich <madski@unity3d.com>
parents: 18459
diff changeset
83 verifyopt = [('', 'large', None,
2e3ec9e6ee6e largefiles: make verify --lfa and --lfc work without --large
Mads Kiilerich <madski@unity3d.com>
parents: 18459
diff changeset
84 _('verify that all largefiles in current revision exists')),
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
85 ('', 'lfa', None,
18547
2e3ec9e6ee6e largefiles: make verify --lfa and --lfc work without --large
Mads Kiilerich <madski@unity3d.com>
parents: 18459
diff changeset
86 _('verify largefiles in all revisions, not just current')),
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
87 ('', 'lfc', None,
18547
2e3ec9e6ee6e largefiles: make verify --lfa and --lfc work without --large
Mads Kiilerich <madski@unity3d.com>
parents: 18459
diff changeset
88 _('verify local largefile contents, not just existence'))]
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
89 entry[1].extend(verifyopt)
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
90
18144
e16982a74bf7 largefiles: introduce basic debugstate --large functionality
Mads Kiilerich <madski@unity3d.com>
parents: 17878
diff changeset
91 entry = extensions.wrapcommand(commands.table, 'debugstate',
e16982a74bf7 largefiles: introduce basic debugstate --large functionality
Mads Kiilerich <madski@unity3d.com>
parents: 17878
diff changeset
92 overrides.overridedebugstate)
e16982a74bf7 largefiles: introduce basic debugstate --large functionality
Mads Kiilerich <madski@unity3d.com>
parents: 17878
diff changeset
93 debugstateopt = [('', 'large', None, _('display largefiles dirstate'))]
e16982a74bf7 largefiles: introduce basic debugstate --large functionality
Mads Kiilerich <madski@unity3d.com>
parents: 17878
diff changeset
94 entry[1].extend(debugstateopt)
e16982a74bf7 largefiles: introduce basic debugstate --large functionality
Mads Kiilerich <madski@unity3d.com>
parents: 17878
diff changeset
95
21052
cde32cb5a565 largefiles: use "outgoinghooks" to avoid redundant outgoing check
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21048
diff changeset
96 outgoing = lambda orgfunc, *arg, **kwargs: orgfunc(*arg, **kwargs)
cde32cb5a565 largefiles: use "outgoinghooks" to avoid redundant outgoing check
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21048
diff changeset
97 entry = extensions.wrapcommand(commands.table, 'outgoing', outgoing)
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
98 outgoingopt = [('', 'large', None, _('display outgoing largefiles'))]
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
99 entry[1].extend(outgoingopt)
21052
cde32cb5a565 largefiles: use "outgoinghooks" to avoid redundant outgoing check
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21048
diff changeset
100 cmdutil.outgoinghooks.add('largefiles', overrides.outgoinghook)
15170
c1a4a3220711 largefiles: fix over-long lines
Matt Mackall <mpm@selenic.com>
parents: 15169
diff changeset
101 entry = extensions.wrapcommand(commands.table, 'summary',
16247
d87d9d8a8e03 largefiles: remove use of underscores that breaks coding convention
Na'Tosha Bard <natosha@unity3d.com>
parents: 16093
diff changeset
102 overrides.overridesummary)
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
103 summaryopt = [('', 'large', None, _('display outgoing largefiles'))]
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
104 entry[1].extend(summaryopt)
21048
ca7a57464fb3 largefiles: use "summaryremotehooks" to avoid redundant outgoing check
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20638
diff changeset
105 cmdutil.summaryremotehooks.add('largefiles', overrides.summaryremotehook)
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
106
15170
c1a4a3220711 largefiles: fix over-long lines
Matt Mackall <mpm@selenic.com>
parents: 15169
diff changeset
107 entry = extensions.wrapcommand(commands.table, 'pull',
16247
d87d9d8a8e03 largefiles: remove use of underscores that breaks coding convention
Na'Tosha Bard <natosha@unity3d.com>
parents: 16093
diff changeset
108 overrides.overridepull)
16692
b9969574540a largefiles: add --all-largefiles flag to pull
Na'Tosha Bard <natosha@unity3d.com>
parents: 16644
diff changeset
109 pullopt = [('', 'all-largefiles', None,
18982
43cb150e74f9 largefiles: deprecate --all-largefiles for pull
Mads Kiilerich <madski@unity3d.com>
parents: 18980
diff changeset
110 _('download all pulled versions of largefiles (DEPRECATED)')),
18978
8abaadab9abb largefiles: introduce pull --lfrev option
Mads Kiilerich <madski@unity3d.com>
parents: 18704
diff changeset
111 ('', 'lfrev', [],
8abaadab9abb largefiles: introduce pull --lfrev option
Mads Kiilerich <madski@unity3d.com>
parents: 18704
diff changeset
112 _('download largefiles for these revisions'), _('REV'))]
16692
b9969574540a largefiles: add --all-largefiles flag to pull
Na'Tosha Bard <natosha@unity3d.com>
parents: 16644
diff changeset
113 entry[1].extend(pullopt)
18979
1176832fc757 largefiles: introduce pulled() revset expression for use in --lfrev
Mads Kiilerich <madski@unity3d.com>
parents: 18978
diff changeset
114
28878
a75c9665ef06 largefiles: introduce push --lfrev to control which revisions are pushed
Mads Kiilerich <madski@unity3d.com>
parents: 28394
diff changeset
115 entry = extensions.wrapcommand(commands.table, 'push',
a75c9665ef06 largefiles: introduce push --lfrev to control which revisions are pushed
Mads Kiilerich <madski@unity3d.com>
parents: 28394
diff changeset
116 overrides.overridepush)
a75c9665ef06 largefiles: introduce push --lfrev to control which revisions are pushed
Mads Kiilerich <madski@unity3d.com>
parents: 28394
diff changeset
117 pushopt = [('', 'lfrev', [],
a75c9665ef06 largefiles: introduce push --lfrev to control which revisions are pushed
Mads Kiilerich <madski@unity3d.com>
parents: 28394
diff changeset
118 _('upload largefiles for these revisions'), _('REV'))]
a75c9665ef06 largefiles: introduce push --lfrev to control which revisions are pushed
Mads Kiilerich <madski@unity3d.com>
parents: 28394
diff changeset
119 entry[1].extend(pushopt)
34075
a9d8caf95941 largefiles: remove unused assignments from wrapfunction()
Martin von Zweigbergk <martinvonz@google.com>
parents: 32377
diff changeset
120 extensions.wrapfunction(exchange, 'pushoperation',
a9d8caf95941 largefiles: remove unused assignments from wrapfunction()
Martin von Zweigbergk <martinvonz@google.com>
parents: 32377
diff changeset
121 overrides.exchangepushoperation)
28878
a75c9665ef06 largefiles: introduce push --lfrev to control which revisions are pushed
Mads Kiilerich <madski@unity3d.com>
parents: 28394
diff changeset
122
16644
98a9266db803 largefiles: add --all-largefiles flag to clone (issue3188)
Na'Tosha Bard <natosha@unity3d.com>
parents: 16578
diff changeset
123 entry = extensions.wrapcommand(commands.table, 'clone',
98a9266db803 largefiles: add --all-largefiles flag to clone (issue3188)
Na'Tosha Bard <natosha@unity3d.com>
parents: 16578
diff changeset
124 overrides.overrideclone)
98a9266db803 largefiles: add --all-largefiles flag to clone (issue3188)
Na'Tosha Bard <natosha@unity3d.com>
parents: 16578
diff changeset
125 cloneopt = [('', 'all-largefiles', None,
98a9266db803 largefiles: add --all-largefiles flag to clone (issue3188)
Na'Tosha Bard <natosha@unity3d.com>
parents: 16578
diff changeset
126 _('download all versions of all largefiles'))]
17601
6e2ab601be3f largefiles: delegate to the wrapped clone command
Matt Harbison <matt_harbison@yahoo.com>
parents: 17192
diff changeset
127 entry[1].extend(cloneopt)
34075
a9d8caf95941 largefiles: remove unused assignments from wrapfunction()
Martin von Zweigbergk <martinvonz@google.com>
parents: 32377
diff changeset
128 extensions.wrapfunction(hg, 'clone', overrides.hgclone)
a9d8caf95941 largefiles: remove unused assignments from wrapfunction()
Martin von Zweigbergk <martinvonz@google.com>
parents: 32377
diff changeset
129 extensions.wrapfunction(hg, 'postshare', overrides.hgpostshare)
16644
98a9266db803 largefiles: add --all-largefiles flag to clone (issue3188)
Na'Tosha Bard <natosha@unity3d.com>
parents: 16578
diff changeset
130
16439
290850e7aa43 largefiles: fix cat for largefiles (issue3352)
Na'Tosha Bard <natosha@unity3d.com>
parents: 16247
diff changeset
131 entry = extensions.wrapcommand(commands.table, 'cat',
290850e7aa43 largefiles: fix cat for largefiles (issue3352)
Na'Tosha Bard <natosha@unity3d.com>
parents: 16247
diff changeset
132 overrides.overridecat)
34075
a9d8caf95941 largefiles: remove unused assignments from wrapfunction()
Martin von Zweigbergk <martinvonz@google.com>
parents: 32377
diff changeset
133 extensions.wrapfunction(merge, '_checkunknownfile',
a9d8caf95941 largefiles: remove unused assignments from wrapfunction()
Martin von Zweigbergk <martinvonz@google.com>
parents: 32377
diff changeset
134 overrides.overridecheckunknownfile)
a9d8caf95941 largefiles: remove unused assignments from wrapfunction()
Martin von Zweigbergk <martinvonz@google.com>
parents: 32377
diff changeset
135 extensions.wrapfunction(merge, 'calculateupdates',
a9d8caf95941 largefiles: remove unused assignments from wrapfunction()
Martin von Zweigbergk <martinvonz@google.com>
parents: 32377
diff changeset
136 overrides.overridecalculateupdates)
a9d8caf95941 largefiles: remove unused assignments from wrapfunction()
Martin von Zweigbergk <martinvonz@google.com>
parents: 32377
diff changeset
137 extensions.wrapfunction(merge, 'recordupdates',
a9d8caf95941 largefiles: remove unused assignments from wrapfunction()
Martin von Zweigbergk <martinvonz@google.com>
parents: 32377
diff changeset
138 overrides.mergerecordupdates)
a9d8caf95941 largefiles: remove unused assignments from wrapfunction()
Martin von Zweigbergk <martinvonz@google.com>
parents: 32377
diff changeset
139 extensions.wrapfunction(merge, 'update', overrides.mergeupdate)
a9d8caf95941 largefiles: remove unused assignments from wrapfunction()
Martin von Zweigbergk <martinvonz@google.com>
parents: 32377
diff changeset
140 extensions.wrapfunction(filemerge, '_filemerge',
a9d8caf95941 largefiles: remove unused assignments from wrapfunction()
Martin von Zweigbergk <martinvonz@google.com>
parents: 32377
diff changeset
141 overrides.overridefilemerge)
a9d8caf95941 largefiles: remove unused assignments from wrapfunction()
Martin von Zweigbergk <martinvonz@google.com>
parents: 32377
diff changeset
142 extensions.wrapfunction(cmdutil, 'copy', overrides.overridecopy)
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
143
16516
597ddcb41b32 largefiles: notice dirty large files in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16515
diff changeset
144 # Summary calls dirty on the subrepos
34075
a9d8caf95941 largefiles: remove unused assignments from wrapfunction()
Martin von Zweigbergk <martinvonz@google.com>
parents: 32377
diff changeset
145 extensions.wrapfunction(subrepo.hgsubrepo, 'dirty', overrides.overridedirty)
16516
597ddcb41b32 largefiles: notice dirty large files in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16515
diff changeset
146
34075
a9d8caf95941 largefiles: remove unused assignments from wrapfunction()
Martin von Zweigbergk <martinvonz@google.com>
parents: 32377
diff changeset
147 extensions.wrapfunction(cmdutil, 'revert', overrides.overriderevert)
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
148
25811
7699d3212994 largefiles: allow the archiving of largefiles to be disabled
Matt Harbison <matt_harbison@yahoo.com>
parents: 24474
diff changeset
149 extensions.wrapcommand(commands.table, 'archive',
7699d3212994 largefiles: allow the archiving of largefiles to be disabled
Matt Harbison <matt_harbison@yahoo.com>
parents: 24474
diff changeset
150 overrides.overridearchivecmd)
16247
d87d9d8a8e03 largefiles: remove use of underscores that breaks coding convention
Na'Tosha Bard <natosha@unity3d.com>
parents: 16093
diff changeset
151 extensions.wrapfunction(archival, 'archive', overrides.overridearchive)
21084
70252bdfd39c largefiles: import whole modules instead of importing parts of them
Mads Kiilerich <madski@unity3d.com>
parents: 21052
diff changeset
152 extensions.wrapfunction(subrepo.hgsubrepo, 'archive',
70252bdfd39c largefiles: import whole modules instead of importing parts of them
Mads Kiilerich <madski@unity3d.com>
parents: 21052
diff changeset
153 overrides.hgsubrepoarchive)
34075
a9d8caf95941 largefiles: remove unused assignments from wrapfunction()
Martin von Zweigbergk <martinvonz@google.com>
parents: 32377
diff changeset
154 extensions.wrapfunction(webcommands, 'archive', overrides.hgwebarchive)
15349
63455eb771af largefiles: drop more unnecessary compatibility checks
Greg Ward <greg@gerg.ca>
parents: 15295
diff changeset
155 extensions.wrapfunction(cmdutil, 'bailifchanged',
16247
d87d9d8a8e03 largefiles: remove use of underscores that breaks coding convention
Na'Tosha Bard <natosha@unity3d.com>
parents: 16093
diff changeset
156 overrides.overridebailifchanged)
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
157
27944
4511e8dac4c7 largefiles: report the missing file count after a commit that does nothing
Matt Harbison <matt_harbison@yahoo.com>
parents: 27586
diff changeset
158 extensions.wrapfunction(cmdutil, 'postcommitstatus',
4511e8dac4c7 largefiles: report the missing file count after a commit that does nothing
Matt Harbison <matt_harbison@yahoo.com>
parents: 27586
diff changeset
159 overrides.postcommitstatus)
22289
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
160 extensions.wrapfunction(scmutil, 'marktouched',
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
161 overrides.scmutilmarktouched)
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
162
35564
cf841f2b5a72 largefiles: add support for 'largefiles://' url scheme
Boris Feld <boris.feld@octobus.net>
parents: 35507
diff changeset
163 extensions.wrapfunction(url, 'open',
cf841f2b5a72 largefiles: add support for 'largefiles://' url scheme
Boris Feld <boris.feld@octobus.net>
parents: 35507
diff changeset
164 overrides.openlargefile)
cf841f2b5a72 largefiles: add support for 'largefiles://' url scheme
Boris Feld <boris.feld@octobus.net>
parents: 35507
diff changeset
165
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
166 # create the new wireproto commands ...
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
167 wireproto.commands['putlfile'] = (proto.putlfile, 'sha')
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
168 wireproto.commands['getlfile'] = (proto.getlfile, 'sha')
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
169 wireproto.commands['statlfile'] = (proto.statlfile, 'sha')
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
170
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
171 # ... and wrap some existing ones
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
172 wireproto.commands['heads'] = (proto.heads, '')
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
173 wireproto.commands['lheads'] = (wireproto.heads, '')
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
174
15254
dd03d3a9f888 largefiles: more work on cleaning up comments
Greg Ward <greg@gerg.ca>
parents: 15252
diff changeset
175 # make putlfile behave the same as push and {get,stat}lfile behave
dd03d3a9f888 largefiles: more work on cleaning up comments
Greg Ward <greg@gerg.ca>
parents: 15252
diff changeset
176 # the same as pull w.r.t. permissions checks
36753
742ce6fbc109 wireproto: move command permissions dict out of hgweb_mod
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35564
diff changeset
177 wireproto.permissions['putlfile'] = 'push'
742ce6fbc109 wireproto: move command permissions dict out of hgweb_mod
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35564
diff changeset
178 wireproto.permissions['getlfile'] = 'pull'
742ce6fbc109 wireproto: move command permissions dict out of hgweb_mod
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35564
diff changeset
179 wireproto.permissions['statlfile'] = 'pull'
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
180
16449
874a680a3e23 largefiles: hide .hglf/ prefix for largefiles in hgweb
Martin Geisler <mg@lazybytes.net>
parents: 16439
diff changeset
181 extensions.wrapfunction(webcommands, 'decodepath', overrides.decodepath)
874a680a3e23 largefiles: hide .hglf/ prefix for largefiles in hgweb
Martin Geisler <mg@lazybytes.net>
parents: 16439
diff changeset
182
35507
95a9be56c3bb largefiles: modernize how capabilities are added to the wire protocol
Matt Harbison <matt_harbison@yahoo.com>
parents: 35303
diff changeset
183 extensions.wrapfunction(wireproto, '_capabilities', proto._capabilities)
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
184
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
185 # can't do this in reposetup because it needs to have happened before
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
186 # wirerepo.__init__ is called
17192
1ac628cd7113 peer: introduce real peer classes
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 16692
diff changeset
187 proto.ssholdcallstream = sshpeer.sshpeer._callstream
1ac628cd7113 peer: introduce real peer classes
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 16692
diff changeset
188 proto.httpoldcallstream = httppeer.httppeer._callstream
1ac628cd7113 peer: introduce real peer classes
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 16692
diff changeset
189 sshpeer.sshpeer._callstream = proto.sshrepocallstream
1ac628cd7113 peer: introduce real peer classes
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 16692
diff changeset
190 httppeer.httppeer._callstream = proto.httprepocallstream
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
191
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
192 # override some extensions' stuff as well
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
193 for name, module in extensions.extensions():
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
194 if name == 'purge':
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
195 extensions.wrapcommand(getattr(module, 'cmdtable'), 'purge',
16247
d87d9d8a8e03 largefiles: remove use of underscores that breaks coding convention
Na'Tosha Bard <natosha@unity3d.com>
parents: 16093
diff changeset
196 overrides.overridepurge)
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
197 if name == 'rebase':
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
198 extensions.wrapcommand(getattr(module, 'cmdtable'), 'rebase',
16247
d87d9d8a8e03 largefiles: remove use of underscores that breaks coding convention
Na'Tosha Bard <natosha@unity3d.com>
parents: 16093
diff changeset
199 overrides.overriderebase)
23182
9b6c3947b4a7 largefiles: wrap "rebase.rebase" for functions using it directly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22289
diff changeset
200 extensions.wrapfunction(module, 'rebase',
9b6c3947b4a7 largefiles: wrap "rebase.rebase" for functions using it directly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22289
diff changeset
201 overrides.overriderebase)
15383
155d0f8fb7e5 largefiles: fix bad bug where transplanting a changeset with a largefile will result in an old largefile being comitted later on
Na'Tosha Bard <natosha@unity3d.com>
parents: 15356
diff changeset
202 if name == 'transplant':
155d0f8fb7e5 largefiles: fix bad bug where transplanting a changeset with a largefile will result in an old largefile being comitted later on
Na'Tosha Bard <natosha@unity3d.com>
parents: 15356
diff changeset
203 extensions.wrapcommand(getattr(module, 'cmdtable'), 'transplant',
16247
d87d9d8a8e03 largefiles: remove use of underscores that breaks coding convention
Na'Tosha Bard <natosha@unity3d.com>
parents: 16093
diff changeset
204 overrides.overridetransplant)