Mercurial > evolve
annotate hgext/directaccess.py @ 1361:043e5ca9322f
evolve: extract the code computing dependencies in a separate function
The code to compute dependencies between unstable changeset can be reused to
compute the next reveset. This patch extracts it in its own function to make
it reusable.
author | Laurent Charignon <lcharignon@fb.com> |
---|---|
date | Thu, 04 Jun 2015 16:49:16 -0700 |
parents | 5c13945b32fc |
children | 2eaa2943f9f3 |
rev | line source |
---|---|
1339
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
1 """ This extension provides direct access |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
2 It is the ability to refer and access hidden sha in commands provided that you |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
3 know their value. |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
4 For example hg log -r xxx where xxx is a commit has should work whether xxx is |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
5 hidden or not as we assume that the user knows what he is doing when referring |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
6 to xxx. |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
7 """ |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
8 from mercurial import extensions |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
9 from mercurial import cmdutil |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
10 from mercurial import repoview |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
11 from mercurial import branchmap |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
12 from mercurial import revset |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
13 from mercurial import error |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
14 from mercurial import commands |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
15 from mercurial.i18n import _ |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
16 |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
17 cmdtable = {} |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
18 command = cmdutil.command(cmdtable) |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
19 |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
20 # List of commands where no warning is shown for direct access |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
21 directaccesslevel = [ |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
22 # warning or not, extension (None if core), command name |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
23 (False, None, 'update'), |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
24 (False, None, 'export'), |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
25 (True, 'rebase', 'rebase'), |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
26 (False, 'evolve', 'prune'), |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
27 ] |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
28 |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
29 def reposetup(ui, repo): |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
30 repo._explicitaccess = set() |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
31 |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
32 def _computehidden(repo): |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
33 hidden = repoview.computehidden(repo) |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
34 cl = repo.changelog |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
35 dynamic = hidden & repo._explicitaccess |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
36 if dynamic: |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
37 blocked = cl.ancestors(dynamic, inclusive=True) |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
38 hidden = frozenset(r for r in hidden if r not in blocked) |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
39 return hidden |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
40 |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
41 def setupdirectaccess(): |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
42 """ Add two new filtername that behave like visible to provide direct access |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
43 and direct access with warning. Wraps the commands to setup direct access """ |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
44 repoview.filtertable.update({'visible-directaccess-nowarn': _computehidden}) |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
45 repoview.filtertable.update({'visible-directaccess-warn': _computehidden}) |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
46 branchmap.subsettable['visible-directaccess-nowarn'] = 'visible' |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
47 branchmap.subsettable['visible-directaccess-warn'] = 'visible' |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
48 |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
49 for warn, ext, cmd in directaccesslevel: |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
50 try: |
1347
b00c2fe51ac8
directaccess: don't crash when evolve is not loaded
Laurent Charignon <lcharignon@fb.com>
parents:
1339
diff
changeset
|
51 cmdtable = extensions.find(ext).cmdtable if ext else commands.table |
b00c2fe51ac8
directaccess: don't crash when evolve is not loaded
Laurent Charignon <lcharignon@fb.com>
parents:
1339
diff
changeset
|
52 wrapper = wrapwithwarning if warn else wrapwithoutwarning |
1339
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
53 extensions.wrapcommand(cmdtable, cmd, wrapper) |
1347
b00c2fe51ac8
directaccess: don't crash when evolve is not loaded
Laurent Charignon <lcharignon@fb.com>
parents:
1339
diff
changeset
|
54 except (error.UnknownCommand, KeyError): |
1339
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
55 pass |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
56 |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
57 def wrapwithoutwarning(orig, ui, repo, *args, **kwargs): |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
58 if repo and repo.filtername == 'visible': |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
59 repo = repo.filtered("visible-directaccess-nowarn") |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
60 return orig(ui, repo, *args, **kwargs) |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
61 |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
62 def wrapwithwarning(orig, ui, repo, *args, **kwargs): |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
63 if repo and repo.filtername == 'visible': |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
64 repo = repo.filtered("visible-directaccess-warn") |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
65 return orig(ui, repo, *args, **kwargs) |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
66 |
1360
5c13945b32fc
directaccess: add mechanism to load directaccess after some other extensions
Laurent Charignon <lcharignon@fb.com>
parents:
1347
diff
changeset
|
67 def uisetup(ui): |
5c13945b32fc
directaccess: add mechanism to load directaccess after some other extensions
Laurent Charignon <lcharignon@fb.com>
parents:
1347
diff
changeset
|
68 """ Change ordering of extensions to ensure that directaccess extsetup comes |
5c13945b32fc
directaccess: add mechanism to load directaccess after some other extensions
Laurent Charignon <lcharignon@fb.com>
parents:
1347
diff
changeset
|
69 after the one of the extensions in the loadsafter list """ |
5c13945b32fc
directaccess: add mechanism to load directaccess after some other extensions
Laurent Charignon <lcharignon@fb.com>
parents:
1347
diff
changeset
|
70 loadsafter = ui.configlist('directaccess','loadsafter') |
5c13945b32fc
directaccess: add mechanism to load directaccess after some other extensions
Laurent Charignon <lcharignon@fb.com>
parents:
1347
diff
changeset
|
71 order = list(extensions._order) |
5c13945b32fc
directaccess: add mechanism to load directaccess after some other extensions
Laurent Charignon <lcharignon@fb.com>
parents:
1347
diff
changeset
|
72 directaccesidx = order.index('directaccess') |
5c13945b32fc
directaccess: add mechanism to load directaccess after some other extensions
Laurent Charignon <lcharignon@fb.com>
parents:
1347
diff
changeset
|
73 |
5c13945b32fc
directaccess: add mechanism to load directaccess after some other extensions
Laurent Charignon <lcharignon@fb.com>
parents:
1347
diff
changeset
|
74 # The min idx for directaccess to load after all the extensions in loadafter |
5c13945b32fc
directaccess: add mechanism to load directaccess after some other extensions
Laurent Charignon <lcharignon@fb.com>
parents:
1347
diff
changeset
|
75 minidxdirectaccess = directaccesidx |
5c13945b32fc
directaccess: add mechanism to load directaccess after some other extensions
Laurent Charignon <lcharignon@fb.com>
parents:
1347
diff
changeset
|
76 |
5c13945b32fc
directaccess: add mechanism to load directaccess after some other extensions
Laurent Charignon <lcharignon@fb.com>
parents:
1347
diff
changeset
|
77 for ext in loadsafter: |
5c13945b32fc
directaccess: add mechanism to load directaccess after some other extensions
Laurent Charignon <lcharignon@fb.com>
parents:
1347
diff
changeset
|
78 try: |
5c13945b32fc
directaccess: add mechanism to load directaccess after some other extensions
Laurent Charignon <lcharignon@fb.com>
parents:
1347
diff
changeset
|
79 minidxdirectaccess = max(minidxdirectaccess, order.index(ext)) |
5c13945b32fc
directaccess: add mechanism to load directaccess after some other extensions
Laurent Charignon <lcharignon@fb.com>
parents:
1347
diff
changeset
|
80 except ValueError: |
5c13945b32fc
directaccess: add mechanism to load directaccess after some other extensions
Laurent Charignon <lcharignon@fb.com>
parents:
1347
diff
changeset
|
81 pass # extension not loaded |
5c13945b32fc
directaccess: add mechanism to load directaccess after some other extensions
Laurent Charignon <lcharignon@fb.com>
parents:
1347
diff
changeset
|
82 |
5c13945b32fc
directaccess: add mechanism to load directaccess after some other extensions
Laurent Charignon <lcharignon@fb.com>
parents:
1347
diff
changeset
|
83 if minidxdirectaccess > directaccesidx: |
5c13945b32fc
directaccess: add mechanism to load directaccess after some other extensions
Laurent Charignon <lcharignon@fb.com>
parents:
1347
diff
changeset
|
84 order.insert(minidxdirectaccess + 1, 'directaccess') |
5c13945b32fc
directaccess: add mechanism to load directaccess after some other extensions
Laurent Charignon <lcharignon@fb.com>
parents:
1347
diff
changeset
|
85 order.remove('directaccess') |
5c13945b32fc
directaccess: add mechanism to load directaccess after some other extensions
Laurent Charignon <lcharignon@fb.com>
parents:
1347
diff
changeset
|
86 extensions._order = order |
5c13945b32fc
directaccess: add mechanism to load directaccess after some other extensions
Laurent Charignon <lcharignon@fb.com>
parents:
1347
diff
changeset
|
87 |
1339
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
88 def extsetup(ui): |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
89 extensions.wrapfunction(revset, 'posttreebuilthook', _posttreebuilthook) |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
90 setupdirectaccess() |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
91 |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
92 def gethashsymbols(tree): |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
93 # Returns the list of symbols of the tree that look like hashes |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
94 # for example for the revset 3::abe3ff it will return ('abe3ff') |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
95 if not tree: |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
96 return [] |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
97 |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
98 if len(tree) == 2 and tree[0] == "symbol": |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
99 try: |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
100 int(tree[1]) |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
101 return [] |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
102 except ValueError as e: |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
103 return [tree[1]] |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
104 elif len(tree) == 3: |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
105 return gethashsymbols(tree[1]) + gethashsymbols(tree[2]) |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
106 else: |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
107 return [] |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
108 |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
109 def _posttreebuilthook(orig, tree, repo): |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
110 # This is use to enabled direct hash access |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
111 # We extract the symbols that look like hashes and add them to the |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
112 # explicitaccess set |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
113 orig(tree, repo) |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
114 filternm = "" |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
115 if repo is not None: |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
116 filternm = repo.filtername |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
117 if filternm is not None and filternm.startswith('visible-directaccess'): |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
118 prelength = len(repo._explicitaccess) |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
119 accessbefore = set(repo._explicitaccess) |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
120 repo.symbols = gethashsymbols(tree) |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
121 cl = repo.unfiltered().changelog |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
122 for node in repo.symbols: |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
123 try: |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
124 node = cl._partialmatch(node) |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
125 except error.LookupError: |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
126 node = None |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
127 if node is not None: |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
128 rev = cl.rev(node) |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
129 if rev not in repo.changelog: |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
130 repo._explicitaccess.add(rev) |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
131 if prelength != len(repo._explicitaccess): |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
132 if repo.filtername != 'visible-directaccess-nowarn': |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
133 unhiddencommits = repo._explicitaccess - accessbefore |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
134 repo.ui.warn( _("Warning: accessing hidden changesets %s " |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
135 "for write operation\n") % |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
136 (",".join([str(repo.unfiltered()[l]) |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
137 for l in unhiddencommits]))) |
0e2eb196923a
inhibit: create direct access extension
Laurent Charignon <lcharignon@fb.com>
parents:
diff
changeset
|
138 repo.invalidatevolatilesets() |