annotate hgext/largefiles/uisetup.py @ 31740:a40e979b9d97

largefiles: use readasstandin() to read hex hash directly from filectx BTW, C implementation of hexdigest() for SHA-1/256/512 returns hex hash in lower case, and doctest in Python standard hashlib assumes that, too. But it isn't explicitly described in API document or so. Therefore, we can't assume that hexdigest() always returns hex hash in lower case, for any hash algorithms, on any Python runtimes and versions. From point of view of that, it is reasonable for portability that 40800668e019 applies lower() on hex hash in overridefilemerge(). But on the other hand, in largefiles extension, there are still many code paths comparing between hex hashes or storing hex hash into standin file, without lower(). Switching to hash algorithm other than SHA-1 may be good chance to clarify our policy about hexdigest()-ed hash value string. - assume that hexdigest() always returns hex hash in lower case, or - apply lower() on hex hash in appropriate layers to ensure lower-case-ness of it for portability
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
date Sat, 01 Apr 2017 02:32:49 +0900
parents 2143266ecb65
children 9e67ce5c4fd0
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 hgweb_mod,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
16 webcommands,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
17 )
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
18
29315
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
19 from mercurial import (
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
20 archival,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
21 cmdutil,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
22 commands,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
23 copies,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
24 exchange,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
25 extensions,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
26 filemerge,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
27 hg,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
28 httppeer,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
29 merge,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
30 scmutil,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
31 sshpeer,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
32 subrepo,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
33 wireproto,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
34 )
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 from . import (
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
37 overrides,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
38 proto,
2143266ecb65 py3: make largefiles/uisetup.py use absolute_import
liscju <piotr.listkiewicz@gmail.com>
parents: 28878
diff changeset
39 )
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
40
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
41 def uisetup(ui):
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
42 # Disable auto-status for some commands which assume that all
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
43 # files in the result are under Mercurial's control
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
44
15170
c1a4a3220711 largefiles: fix over-long lines
Matt Mackall <mpm@selenic.com>
parents: 15169
diff changeset
45 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
46 overrides.overrideadd)
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
47 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
48 ('', 'normal', None, _('add as normal file')),
15627
9d7a83a42f8c largefiles: fix indentation
Martin Geisler <mg@aragost.com>
parents: 15383
diff changeset
49 ('', 'lfsize', '', _('add all files above this size '
9d7a83a42f8c largefiles: fix indentation
Martin Geisler <mg@aragost.com>
parents: 15383
diff changeset
50 '(in megabytes) as largefiles '
9d7a83a42f8c largefiles: fix indentation
Martin Geisler <mg@aragost.com>
parents: 15383
diff changeset
51 '(default: 10)'))]
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
52 entry[1].extend(addopt)
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
53
17658
a02c1ffddae9 largefiles: handle commit -A properly, after a --large commit (issue3542)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17601
diff changeset
54 # 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
55 # and in the process of handling commit -A (issue3542)
a02c1ffddae9 largefiles: handle commit -A properly, after a --large commit (issue3542)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17601
diff changeset
56 entry = extensions.wrapfunction(scmutil, 'addremove',
a02c1ffddae9 largefiles: handle commit -A properly, after a --large commit (issue3542)
Matt Harbison <matt_harbison@yahoo.com>
parents: 17601
diff changeset
57 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
16515
12dabc22de77 largefiles: fix status -S reporting of subrepos (issue3231)
Matt Harbison <matt_harbison@yahoo.com>
parents: 16449
diff changeset
64 # Subrepos call status function
15170
c1a4a3220711 largefiles: fix over-long lines
Matt Mackall <mpm@selenic.com>
parents: 15169
diff changeset
65 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
66 overrides.overridestatus)
21084
70252bdfd39c largefiles: import whole modules instead of importing parts of them
Mads Kiilerich <madski@unity3d.com>
parents: 21052
diff changeset
67 entry = extensions.wrapfunction(subrepo.hgsubrepo, 'status',
16515
12dabc22de77 largefiles: fix status -S reporting of subrepos (issue3231)
Matt Harbison <matt_harbison@yahoo.com>
parents: 16449
diff changeset
68 overrides.overridestatusfn)
12dabc22de77 largefiles: fix status -S reporting of subrepos (issue3231)
Matt Harbison <matt_harbison@yahoo.com>
parents: 16449
diff changeset
69
15170
c1a4a3220711 largefiles: fix over-long lines
Matt Mackall <mpm@selenic.com>
parents: 15169
diff changeset
70 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
71 overrides.overridelog)
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
72 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
73 overrides.overriderollback)
15170
c1a4a3220711 largefiles: fix over-long lines
Matt Mackall <mpm@selenic.com>
parents: 15169
diff changeset
74 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
75 overrides.overrideverify)
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
76
18547
2e3ec9e6ee6e largefiles: make verify --lfa and --lfc work without --large
Mads Kiilerich <madski@unity3d.com>
parents: 18459
diff changeset
77 verifyopt = [('', 'large', None,
2e3ec9e6ee6e largefiles: make verify --lfa and --lfc work without --large
Mads Kiilerich <madski@unity3d.com>
parents: 18459
diff changeset
78 _('verify that all largefiles in current revision exists')),
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
79 ('', 'lfa', None,
18547
2e3ec9e6ee6e largefiles: make verify --lfa and --lfc work without --large
Mads Kiilerich <madski@unity3d.com>
parents: 18459
diff changeset
80 _('verify largefiles in all revisions, not just current')),
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
81 ('', 'lfc', None,
18547
2e3ec9e6ee6e largefiles: make verify --lfa and --lfc work without --large
Mads Kiilerich <madski@unity3d.com>
parents: 18459
diff changeset
82 _('verify local largefile contents, not just existence'))]
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
83 entry[1].extend(verifyopt)
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
84
18144
e16982a74bf7 largefiles: introduce basic debugstate --large functionality
Mads Kiilerich <madski@unity3d.com>
parents: 17878
diff changeset
85 entry = extensions.wrapcommand(commands.table, 'debugstate',
e16982a74bf7 largefiles: introduce basic debugstate --large functionality
Mads Kiilerich <madski@unity3d.com>
parents: 17878
diff changeset
86 overrides.overridedebugstate)
e16982a74bf7 largefiles: introduce basic debugstate --large functionality
Mads Kiilerich <madski@unity3d.com>
parents: 17878
diff changeset
87 debugstateopt = [('', 'large', None, _('display largefiles dirstate'))]
e16982a74bf7 largefiles: introduce basic debugstate --large functionality
Mads Kiilerich <madski@unity3d.com>
parents: 17878
diff changeset
88 entry[1].extend(debugstateopt)
e16982a74bf7 largefiles: introduce basic debugstate --large functionality
Mads Kiilerich <madski@unity3d.com>
parents: 17878
diff changeset
89
21052
cde32cb5a565 largefiles: use "outgoinghooks" to avoid redundant outgoing check
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21048
diff changeset
90 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
91 entry = extensions.wrapcommand(commands.table, 'outgoing', outgoing)
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
92 outgoingopt = [('', 'large', None, _('display outgoing largefiles'))]
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
93 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
94 cmdutil.outgoinghooks.add('largefiles', overrides.outgoinghook)
15170
c1a4a3220711 largefiles: fix over-long lines
Matt Mackall <mpm@selenic.com>
parents: 15169
diff changeset
95 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
96 overrides.overridesummary)
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
97 summaryopt = [('', 'large', None, _('display outgoing largefiles'))]
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
98 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
99 cmdutil.summaryremotehooks.add('largefiles', overrides.summaryremotehook)
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
100
15170
c1a4a3220711 largefiles: fix over-long lines
Matt Mackall <mpm@selenic.com>
parents: 15169
diff changeset
101 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
102 overrides.overridepull)
16692
b9969574540a largefiles: add --all-largefiles flag to pull
Na'Tosha Bard <natosha@unity3d.com>
parents: 16644
diff changeset
103 pullopt = [('', 'all-largefiles', None,
18982
43cb150e74f9 largefiles: deprecate --all-largefiles for pull
Mads Kiilerich <madski@unity3d.com>
parents: 18980
diff changeset
104 _('download all pulled versions of largefiles (DEPRECATED)')),
18978
8abaadab9abb largefiles: introduce pull --lfrev option
Mads Kiilerich <madski@unity3d.com>
parents: 18704
diff changeset
105 ('', 'lfrev', [],
8abaadab9abb largefiles: introduce pull --lfrev option
Mads Kiilerich <madski@unity3d.com>
parents: 18704
diff changeset
106 _('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
107 entry[1].extend(pullopt)
18979
1176832fc757 largefiles: introduce pulled() revset expression for use in --lfrev
Mads Kiilerich <madski@unity3d.com>
parents: 18978
diff changeset
108
28878
a75c9665ef06 largefiles: introduce push --lfrev to control which revisions are pushed
Mads Kiilerich <madski@unity3d.com>
parents: 28394
diff changeset
109 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
110 overrides.overridepush)
a75c9665ef06 largefiles: introduce push --lfrev to control which revisions are pushed
Mads Kiilerich <madski@unity3d.com>
parents: 28394
diff changeset
111 pushopt = [('', 'lfrev', [],
a75c9665ef06 largefiles: introduce push --lfrev to control which revisions are pushed
Mads Kiilerich <madski@unity3d.com>
parents: 28394
diff changeset
112 _('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
113 entry[1].extend(pushopt)
a75c9665ef06 largefiles: introduce push --lfrev to control which revisions are pushed
Mads Kiilerich <madski@unity3d.com>
parents: 28394
diff changeset
114 entry = extensions.wrapfunction(exchange, 'pushoperation',
a75c9665ef06 largefiles: introduce push --lfrev to control which revisions are pushed
Mads Kiilerich <madski@unity3d.com>
parents: 28394
diff changeset
115 overrides.exchangepushoperation)
a75c9665ef06 largefiles: introduce push --lfrev to control which revisions are pushed
Mads Kiilerich <madski@unity3d.com>
parents: 28394
diff changeset
116
16644
98a9266db803 largefiles: add --all-largefiles flag to clone (issue3188)
Na'Tosha Bard <natosha@unity3d.com>
parents: 16578
diff changeset
117 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
118 overrides.overrideclone)
98a9266db803 largefiles: add --all-largefiles flag to clone (issue3188)
Na'Tosha Bard <natosha@unity3d.com>
parents: 16578
diff changeset
119 cloneopt = [('', 'all-largefiles', None,
98a9266db803 largefiles: add --all-largefiles flag to clone (issue3188)
Na'Tosha Bard <natosha@unity3d.com>
parents: 16578
diff changeset
120 _('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
121 entry[1].extend(cloneopt)
6e2ab601be3f largefiles: delegate to the wrapped clone command
Matt Harbison <matt_harbison@yahoo.com>
parents: 17192
diff changeset
122 entry = extensions.wrapfunction(hg, 'clone', overrides.hgclone)
16644
98a9266db803 largefiles: add --all-largefiles flag to clone (issue3188)
Na'Tosha Bard <natosha@unity3d.com>
parents: 16578
diff changeset
123
16439
290850e7aa43 largefiles: fix cat for largefiles (issue3352)
Na'Tosha Bard <natosha@unity3d.com>
parents: 16247
diff changeset
124 entry = extensions.wrapcommand(commands.table, 'cat',
290850e7aa43 largefiles: fix cat for largefiles (issue3352)
Na'Tosha Bard <natosha@unity3d.com>
parents: 16247
diff changeset
125 overrides.overridecat)
16093
7e30f5f2285f merge: refactor unknown file conflict checking
Matt Mackall <mpm@selenic.com>
parents: 15944
diff changeset
126 entry = extensions.wrapfunction(merge, '_checkunknownfile',
16247
d87d9d8a8e03 largefiles: remove use of underscores that breaks coding convention
Na'Tosha Bard <natosha@unity3d.com>
parents: 16093
diff changeset
127 overrides.overridecheckunknownfile)
20638
b228ad1f79d7 largefiles: override calculateupdates instead of manifestmerge
Mads Kiilerich <madski@unity3d.com>
parents: 19779
diff changeset
128 entry = extensions.wrapfunction(merge, 'calculateupdates',
b228ad1f79d7 largefiles: override calculateupdates instead of manifestmerge
Mads Kiilerich <madski@unity3d.com>
parents: 19779
diff changeset
129 overrides.overridecalculateupdates)
22196
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21084
diff changeset
130 entry = extensions.wrapfunction(merge, 'recordupdates',
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21084
diff changeset
131 overrides.mergerecordupdates)
22288
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22196
diff changeset
132 entry = extensions.wrapfunction(merge, 'update',
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22196
diff changeset
133 overrides.mergeupdate)
26605
ef21a2c41629 filemerge: add a wrapper around the filemerge function
Siddharth Agarwal <sid0@fb.com>
parents: 26417
diff changeset
134 entry = extensions.wrapfunction(filemerge, '_filemerge',
16247
d87d9d8a8e03 largefiles: remove use of underscores that breaks coding convention
Na'Tosha Bard <natosha@unity3d.com>
parents: 16093
diff changeset
135 overrides.overridefilemerge)
15170
c1a4a3220711 largefiles: fix over-long lines
Matt Mackall <mpm@selenic.com>
parents: 15169
diff changeset
136 entry = extensions.wrapfunction(cmdutil, 'copy',
16247
d87d9d8a8e03 largefiles: remove use of underscores that breaks coding convention
Na'Tosha Bard <natosha@unity3d.com>
parents: 16093
diff changeset
137 overrides.overridecopy)
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
138
16516
597ddcb41b32 largefiles: notice dirty large files in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16515
diff changeset
139 # Summary calls dirty on the subrepos
21084
70252bdfd39c largefiles: import whole modules instead of importing parts of them
Mads Kiilerich <madski@unity3d.com>
parents: 21052
diff changeset
140 entry = extensions.wrapfunction(subrepo.hgsubrepo, 'dirty',
16516
597ddcb41b32 largefiles: notice dirty large files in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16515
diff changeset
141 overrides.overridedirty)
597ddcb41b32 largefiles: notice dirty large files in a subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 16515
diff changeset
142
24436
66a69da9cde4 largefiles: override cmdutil.revert() instead of comands.revert()
Martin von Zweigbergk <martinvonz@google.com>
parents: 24230
diff changeset
143 entry = extensions.wrapfunction(cmdutil, 'revert',
16247
d87d9d8a8e03 largefiles: remove use of underscores that breaks coding convention
Na'Tosha Bard <natosha@unity3d.com>
parents: 16093
diff changeset
144 overrides.overriderevert)
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
145
25811
7699d3212994 largefiles: allow the archiving of largefiles to be disabled
Matt Harbison <matt_harbison@yahoo.com>
parents: 24474
diff changeset
146 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
147 overrides.overridearchivecmd)
16247
d87d9d8a8e03 largefiles: remove use of underscores that breaks coding convention
Na'Tosha Bard <natosha@unity3d.com>
parents: 16093
diff changeset
148 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
149 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
150 overrides.hgsubrepoarchive)
26417
9a466b9f9792 largefiles: restore archiving largefiles with hgweb (issue4859)
Matt Harbison <matt_harbison@yahoo.com>
parents: 25811
diff changeset
151 extensions.wrapfunction(webcommands, 'archive',
9a466b9f9792 largefiles: restore archiving largefiles with hgweb (issue4859)
Matt Harbison <matt_harbison@yahoo.com>
parents: 25811
diff changeset
152 overrides.hgwebarchive)
15349
63455eb771af largefiles: drop more unnecessary compatibility checks
Greg Ward <greg@gerg.ca>
parents: 15295
diff changeset
153 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
154 overrides.overridebailifchanged)
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
155
27944
4511e8dac4c7 largefiles: report the missing file count after a commit that does nothing
Matt Harbison <matt_harbison@yahoo.com>
parents: 27586
diff changeset
156 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
157 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
158 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
159 overrides.scmutilmarktouched)
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
160
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
161 # create the new wireproto commands ...
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
162 wireproto.commands['putlfile'] = (proto.putlfile, 'sha')
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
163 wireproto.commands['getlfile'] = (proto.getlfile, 'sha')
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
164 wireproto.commands['statlfile'] = (proto.statlfile, 'sha')
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
165
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
166 # ... and wrap some existing ones
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
167 wireproto.commands['capabilities'] = (proto.capabilities, '')
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
168 wireproto.commands['heads'] = (proto.heads, '')
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
169 wireproto.commands['lheads'] = (wireproto.heads, '')
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
170
15254
dd03d3a9f888 largefiles: more work on cleaning up comments
Greg Ward <greg@gerg.ca>
parents: 15252
diff changeset
171 # 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
172 # the same as pull w.r.t. permissions checks
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
173 hgweb_mod.perms['putlfile'] = 'push'
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
174 hgweb_mod.perms['getlfile'] = 'pull'
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
175 hgweb_mod.perms['statlfile'] = 'pull'
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
176
16449
874a680a3e23 largefiles: hide .hglf/ prefix for largefiles in hgweb
Martin Geisler <mg@lazybytes.net>
parents: 16439
diff changeset
177 extensions.wrapfunction(webcommands, 'decodepath', overrides.decodepath)
874a680a3e23 largefiles: hide .hglf/ prefix for largefiles in hgweb
Martin Geisler <mg@lazybytes.net>
parents: 16439
diff changeset
178
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
179 # the hello wireproto command uses wireproto.capabilities, so it won't see
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
180 # our largefiles capability unless we replace the actual function as well.
16247
d87d9d8a8e03 largefiles: remove use of underscores that breaks coding convention
Na'Tosha Bard <natosha@unity3d.com>
parents: 16093
diff changeset
181 proto.capabilitiesorig = wireproto.capabilities
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
182 wireproto.capabilities = proto.capabilities
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
183
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
184 # can't do this in reposetup because it needs to have happened before
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
185 # wirerepo.__init__ is called
17192
1ac628cd7113 peer: introduce real peer classes
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 16692
diff changeset
186 proto.ssholdcallstream = sshpeer.sshpeer._callstream
1ac628cd7113 peer: introduce real peer classes
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 16692
diff changeset
187 proto.httpoldcallstream = httppeer.httppeer._callstream
1ac628cd7113 peer: introduce real peer classes
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 16692
diff changeset
188 sshpeer.sshpeer._callstream = proto.sshrepocallstream
1ac628cd7113 peer: introduce real peer classes
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 16692
diff changeset
189 httppeer.httppeer._callstream = proto.httprepocallstream
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
190
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
191 # override some extensions' stuff as well
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
192 for name, module in extensions.extensions():
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
193 if name == 'purge':
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
194 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
195 overrides.overridepurge)
15168
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
196 if name == 'rebase':
cfccd3bee7b3 hgext: add largefiles extension
various
parents:
diff changeset
197 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
198 overrides.overriderebase)
23182
9b6c3947b4a7 largefiles: wrap "rebase.rebase" for functions using it directly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22289
diff changeset
199 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
200 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
201 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
202 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
203 overrides.overridetransplant)