author | Pierre-Yves David <pierre-yves.david@octobus.net> |
Mon, 18 Dec 2017 06:48:49 +0100 | |
changeset 3309 | 09db38b34cb9 |
parent 2763 | 4a5b0c373e65 |
child 3340 | fd90e73bf79a |
permissions | -rw-r--r-- |
2047
ce39d0f9976d
serveronly: give the sub extension a way to access to the 'evolve' module
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
1 |
# Various utility function for the evolve extension |
ce39d0f9976d
serveronly: give the sub extension a way to access to the 'evolve' module
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
2 |
# |
ce39d0f9976d
serveronly: give the sub extension a way to access to the 'evolve' module
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
3 |
# Copyright 2017 Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
ce39d0f9976d
serveronly: give the sub extension a way to access to the 'evolve' module
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
4 |
# |
ce39d0f9976d
serveronly: give the sub extension a way to access to the 'evolve' module
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
5 |
# This software may be used and distributed according to the terms of the |
ce39d0f9976d
serveronly: give the sub extension a way to access to the 'evolve' module
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
6 |
# GNU General Public License version 2 or any later version. |
ce39d0f9976d
serveronly: give the sub extension a way to access to the 'evolve' module
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
7 |
|
3309
09db38b34cb9
parents: add a utility to filter parents
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2763
diff
changeset
|
8 |
from mercurial.node import nullrev |
09db38b34cb9
parents: add a utility to filter parents
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2763
diff
changeset
|
9 |
|
2763
4a5b0c373e65
commands: move the touch to the 'evocommands' module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2125
diff
changeset
|
10 |
shorttemplate = "[{label('evolve.rev', rev)}] {desc|firstline}\n" |
4a5b0c373e65
commands: move the touch to the 'evocommands' module
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2125
diff
changeset
|
11 |
|
2047
ce39d0f9976d
serveronly: give the sub extension a way to access to the 'evolve' module
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
12 |
def obsexcmsg(ui, message, important=False): |
ce39d0f9976d
serveronly: give the sub extension a way to access to the 'evolve' module
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
13 |
verbose = ui.configbool('experimental', 'verbose-obsolescence-exchange', |
ce39d0f9976d
serveronly: give the sub extension a way to access to the 'evolve' module
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
14 |
False) |
ce39d0f9976d
serveronly: give the sub extension a way to access to the 'evolve' module
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
15 |
if verbose: |
ce39d0f9976d
serveronly: give the sub extension a way to access to the 'evolve' module
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
16 |
message = 'OBSEXC: ' + message |
ce39d0f9976d
serveronly: give the sub extension a way to access to the 'evolve' module
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
17 |
if important or verbose: |
ce39d0f9976d
serveronly: give the sub extension a way to access to the 'evolve' module
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
18 |
ui.status(message) |
2054
f9d65d24b9f9
discovery: split discovery related code in 'obsdiscovery'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
2047
diff
changeset
|
19 |
|
f9d65d24b9f9
discovery: split discovery related code in 'obsdiscovery'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
2047
diff
changeset
|
20 |
def obsexcprg(ui, *args, **kwargs): |
f9d65d24b9f9
discovery: split discovery related code in 'obsdiscovery'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
2047
diff
changeset
|
21 |
topic = 'obsmarkers exchange' |
f9d65d24b9f9
discovery: split discovery related code in 'obsdiscovery'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
2047
diff
changeset
|
22 |
if ui.configbool('experimental', 'verbose-obsolescence-exchange', False): |
f9d65d24b9f9
discovery: split discovery related code in 'obsdiscovery'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
2047
diff
changeset
|
23 |
topic = 'OBSEXC' |
f9d65d24b9f9
discovery: split discovery related code in 'obsdiscovery'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
2047
diff
changeset
|
24 |
ui.progress(topic, *args, **kwargs) |
3309
09db38b34cb9
parents: add a utility to filter parents
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2763
diff
changeset
|
25 |
|
09db38b34cb9
parents: add a utility to filter parents
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2763
diff
changeset
|
26 |
def filterparents(parents): |
09db38b34cb9
parents: add a utility to filter parents
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2763
diff
changeset
|
27 |
"""filter nullrev parents |
09db38b34cb9
parents: add a utility to filter parents
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2763
diff
changeset
|
28 |
|
09db38b34cb9
parents: add a utility to filter parents
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2763
diff
changeset
|
29 |
(and other crazyness)""" |
09db38b34cb9
parents: add a utility to filter parents
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2763
diff
changeset
|
30 |
p1, p2 = parents |
09db38b34cb9
parents: add a utility to filter parents
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2763
diff
changeset
|
31 |
if p1 == nullrev and p2 == nullrev: |
09db38b34cb9
parents: add a utility to filter parents
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2763
diff
changeset
|
32 |
return () |
09db38b34cb9
parents: add a utility to filter parents
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2763
diff
changeset
|
33 |
elif p1 != nullrev and (p2 == nullrev or p1 == p2): |
09db38b34cb9
parents: add a utility to filter parents
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2763
diff
changeset
|
34 |
return (p1,) |
09db38b34cb9
parents: add a utility to filter parents
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2763
diff
changeset
|
35 |
elif p1 == nullrev and p2 != nullrev: |
09db38b34cb9
parents: add a utility to filter parents
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2763
diff
changeset
|
36 |
return (p2,) |
09db38b34cb9
parents: add a utility to filter parents
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2763
diff
changeset
|
37 |
else: |
09db38b34cb9
parents: add a utility to filter parents
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
2763
diff
changeset
|
38 |
return parents |