- make_option('-r', '--reset', metavar = '(local|remote|older)',
- help = 'reset the file(s) to the given state')]
+ make_option('-r', '--reset', metavar = '(ancestor|current|patched)',
+ help = 'reset the file(s) to the given state'),
+ make_option('-i', '--interactive',
+ help = 'run the interactive merging tool',
+ action = 'store_true')]
+
+def interactive_merge(filename):
+ """Run the interactive merger on the given file
+ """
+ try:
+ imerger = config.get('stgit', 'imerger')
+ except Exception, err:
+ raise CmdException, 'Configuration error: %s' % err
+
+ extensions = file_extensions()
+
+ ancestor = filename + extensions['ancestor']
+ current = filename + extensions['current']
+ patched = filename + extensions['patched']
+
+ # check whether we have all the files for a three-way merge
+ for fn in [filename, ancestor, current, patched]:
+ if not os.path.isfile(fn):
+ raise CmdException, \
+ 'Cannot run the interactive merger: "%s" missing' % fn