From patchwork Fri Aug 4 22:13:35 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: D124: phabricator: change "readpatch" to be more flexible From: phabricator X-Patchwork-Id: 22686 Message-Id: <92413ebbe7bf094d202c4d5884aaec48@localhost.localdomain> To: mercurial-devel@mercurial-scm.org Date: Fri, 4 Aug 2017 22:13:35 +0000 quark updated this revision to Diff 569. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D124?vs=554&id=569 REVISION DETAIL https://phab.mercurial-scm.org/D124 AFFECTED FILES contrib/phabricator.py CHANGE DETAILS To: quark, #hg-reviewers, mitrandir Cc: mercurial-devel diff --git a/contrib/phabricator.py b/contrib/phabricator.py --- a/contrib/phabricator.py +++ b/contrib/phabricator.py @@ -636,15 +636,12 @@ meta[r'parent'] = commit[r'parents'][0] return meta or {} -def readpatch(repo, params, write, stack=False): +def readpatch(repo, drevs, write): """generate plain-text patch readable by 'hg import' - write is usually ui.write. params is passed to "differential.query". If - stack is True, also write dependent patches. + write is usually ui.write. drevs is what "querydrev" returns, results of + "differential.query". """ - # Differential Revisions - drevs = querydrev(repo, params, stack) - # Prefetch hg:meta property for all diffs diffids = sorted(set(max(int(v) for v in drev[r'diffs']) for drev in drevs)) diffs = callconduit(repo, 'differential.querydiffs', {'ids': diffids}) @@ -684,4 +681,5 @@ revid = int(revid.split('/')[-1].replace('D', '')) except ValueError: raise error.Abort(_('invalid Revision ID: %s') % revid) - readpatch(repo, {'ids': [revid]}, ui.write, opts.get('stack')) + drevs = querydrev(repo, {'ids': [revid]}, opts.get('stack')) + readpatch(repo, drevs, ui.write)