D229: phabricator: update diff property even if we choose not to create a new diff
quark (Jun Wu)
phabricator at mercurial-scm.org
Fri Aug 4 18:01:07 EDT 2017
This revision was automatically updated to reflect the committed changes.
Closed by commit rHGf100354cce52: phabricator: update diff property even if we choose not to create a new diff (authored by quark).
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D229?vs=552&id=566
REVISION DETAIL
https://phab.mercurial-scm.org/D229
AFFECTED FILES
contrib/phabricator.py
CHANGE DETAILS
diff --git a/contrib/phabricator.py b/contrib/phabricator.py
--- a/contrib/phabricator.py
+++ b/contrib/phabricator.py
@@ -255,7 +255,7 @@
callconduit(ctx.repo(), 'differential.setdiffproperty', params)
def createdifferentialrevision(ctx, revid=None, parentrevid=None, oldnode=None,
- actions=None):
+ olddiff=None, actions=None):
"""create or update a Differential Revision
If revid is None, create a new Differential Revision, otherwise update
@@ -279,6 +279,13 @@
diff = creatediff(ctx)
writediffproperties(ctx, diff)
transactions.append({'type': 'update', 'value': diff[r'phid']})
+ else:
+ # Even if we don't need to upload a new diff because the patch content
+ # does not change. We might still need to update its metadata so
+ # pushers could know the correct node metadata.
+ assert olddiff
+ diff = olddiff
+ writediffproperties(ctx, diff)
# Use a temporary summary to set dependency. There might be better ways but
# I cannot find them for now. But do not do that if we are updating an
@@ -383,7 +390,7 @@
if oldnode != ctx.node():
# Create or update Differential Revision
revision = createdifferentialrevision(ctx, revid, lastrevid,
- oldnode, actions)
+ oldnode, olddiff, actions)
newrevid = int(revision[r'object'][r'id'])
if revid:
action = _('updated')
To: quark, #hg-reviewers, durin42
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list