508
|
1
|
|
2 """
|
509
|
3 utilities to deal with patches
|
|
4
|
508
|
5 http://k0s.org/blog/20100821174911
|
509
|
6 https://github.com/k0s/patchit/blob/develop/patchit.py
|
508
|
7 Tag -> hg
|
|
8 """
|
|
9
|
|
10 # XXX stub
|
|
11
|
|
12 import subprocess
|
|
13 import which
|
|
14
|
|
15 def call(*args, **kwargs):
|
|
16 """"""
|
|
17 return subprocess.check_output(*args, **kwargs)
|
|
18
|
|
19 class ExecuteCommands(object):
|
|
20
|
|
21 def __init__(self, *commands, **kwargs):
|
|
22 self.commands = commands
|
|
23 self.kwargs = kwargs
|
|
24
|
|
25 def __call__(self):
|
|
26 for command in self.commands:
|
|
27 yield call(command, **self.kwargs)
|
|
28
|
|
29 class lsdiff(ExecuteCommands):
|
|
30 commands = ['lsdiff']
|
|
31 def __call__(self):
|
|
32 output = []
|
|
33 for retval in ExecuteCommands(self):
|
|
34 raise NotImplementedError
|
|
35
|
|
36 def hg_root(directory=None):
|
|
37 directory = directory if directory else os.getcwd()
|
|
38
|
|
39 # CLI
|
|
40
|
|
41 def main(args=sys.argv[1:]):
|
|
42 parser = optparse.OptionParser()
|
|
43 options, args = parser.parse_args(args)
|
|
44
|
|
45 # find the root
|
|
46 root = hg_root()
|
|
47
|
|
48 # get the files
|
|
49 paths = lsdiff(root)
|
|
50
|
|
51 if __name__ == '__main__':
|
|
52 main()
|