D7049: phabricator: add addremoved and addmodified functions
Kwan (Ian Moody)
phabricator at mercurial-scm.org
Fri Oct 11 21:57:16 EDT 2019
Closed by commit rHGc19b327017b9: phabricator: add addremoved and addmodified functions (authored by Kwan).
This revision was automatically updated to reflect the committed changes.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D7049?vs=17080&id=17097
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D7049/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D7049
AFFECTED FILES
hgext/phabricator.py
CHANGE DETAILS
diff --git a/hgext/phabricator.py b/hgext/phabricator.py
--- a/hgext/phabricator.py
+++ b/hgext/phabricator.py
@@ -684,6 +684,44 @@
pchange.fileType = DiffFileType.IMAGE
+# Copied from mercurial/patch.py
+gitmode = {b'l': b'120000', b'x': b'100755', b'': b'100644'}
+
+
+def addremoved(pdiff, ctx, removed):
+ """add removed files to the phabdiff. Shouldn't include moves"""
+ for fname in removed:
+ pchange = phabchange(
+ currentPath=fname, oldPath=fname, type=DiffChangeType.DELETE
+ )
+ pchange.addoldmode(gitmode[ctx.p1()[fname].flags()])
+ fctx = ctx.p1()[fname]
+ if not fctx.isbinary():
+ maketext(pchange, ctx, fname)
+
+ pdiff.addchange(pchange)
+
+
+def addmodified(pdiff, ctx, modified):
+ """add modified files to the phabdiff"""
+ for fname in modified:
+ fctx = ctx[fname]
+ pchange = phabchange(currentPath=fname, oldPath=fname)
+ filemode = gitmode[ctx[fname].flags()]
+ originalmode = gitmode[ctx.p1()[fname].flags()]
+ if filemode != originalmode:
+ pchange.addoldmode(originalmode)
+ pchange.addnewmode(filemode)
+
+ if fctx.isbinary():
+ makebinary(pchange, fctx)
+ addoldbinary(pchange, fctx, fname)
+ else:
+ maketext(pchange, ctx, fname)
+
+ pdiff.addchange(pchange)
+
+
def creatediff(ctx):
"""create a Differential Diff"""
repo = ctx.repo()
To: Kwan, #hg-reviewers, indygreg
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list