def apply_change(node, reverse, push_patch=True, name=None): p1, p2 = repo.changelog.parents(node) if p2 != nullid: raise util.Abort('cannot %s a merge changeset' % desc['action']) opts = mdiff.defaultopts opts.git = True rpatch = StringIO.StringIO() orig, mod = (node, p1) if reverse else (p1, node) for chunk in patch.diff(repo, node1=orig, node2=mod, opts=opts): rpatch.write(chunk) rpatch.seek(0) saved_stdin = None try: save_fin = ui.fin ui.fin = rpatch except: # Old versions of hg did not use the ui.fin mechanism saved_stdin = sys.stdin sys.stdin = rpatch if push_patch: commands.import_(ui, repo, '-', force=True, no_commit=True, strip=1, base='') else: mq.qimport(ui, repo, '-', name=name, rev=[], git=True) if saved_stdin is None: ui.fin = save_fin else: sys.stdin = saved_stdin
def handle_change(desc, node, qimport=False): if qimport: name = compute_patch_name(desc['name'], opts.get('name'), node=node) mq.qimport(ui, repo, '-', name=name, rev=[], git=True) else: commands.import_(ui, repo, '-', force=True, no_commit=True, strip=1, base='', prefix='', obsolete=[])
def qimport_wrapper(self, repo, *filename, **opts): mqmessage = opts.pop('mqmessage', None) mqcommit, q, r = mqcommit_info(self, repo, opts) mq.qimport(self, repo, *filename, **opts) if mqcommit and mqmessage: if len(filename) == 0: fname = q.full_series[0] # FIXME - can be multiple else: fname = filename[0] # FIXME - can be multiple mqmessage = mqmessage.replace("%p", fname) mqmessage = mqmessage.replace("%a", 'IMPORT') commands.commit(r.ui, r, message=mqmessage)
def handle_change(desc, node, qimport=False): if qimport: name = compute_patch_name(desc["name"], opts.get("name"), node=node) mq.qimport(ui, repo, "-", name=name, rev=[], git=True) else: commands.import_(ui, repo, "-", force=True, no_commit=True, strip=1, base="", prefix="", obsolete=[])