# HG changeset patch # User Ian Moody # Date 1570366504 -3600 # Node ID 73d4bc60e3894c8ebd91b81b442a8de3df2b7d26 # Parent a66e2844b0c6facd16ff3f84bba4f74f1521b09c phabricator: add the phabhunk data structure These store the actual diff data (for UTF-8 text files anyway) and are equivalent to hunks in a patch file. Differential Revision: https://phab.mercurial-scm.org/D7042 diff -r a66e2844b0c6 -r 73d4bc60e389 hgext/phabricator.py --- a/hgext/phabricator.py Sun Oct 06 13:50:32 2019 +0100 +++ b/hgext/phabricator.py Sun Oct 06 13:55:04 2019 +0100 @@ -50,6 +50,7 @@ from mercurial.node import bin, nullid from mercurial.i18n import _ from mercurial.pycompat import getattr +from mercurial.thirdparty import attr from mercurial import ( cmdutil, context, @@ -465,6 +466,21 @@ BINARY = 3 +@attr.s +class phabhunk(dict): + """Represents a Differential hunk, which is owned by a Differential change + """ + + oldOffset = attr.ib(default=0) # camelcase-required + oldLength = attr.ib(default=0) # camelcase-required + newOffset = attr.ib(default=0) # camelcase-required + newLength = attr.ib(default=0) # camelcase-required + corpus = attr.ib(default='') + # These get added to the phabchange's equivalents + addLines = attr.ib(default=0) # camelcase-required + delLines = attr.ib(default=0) # camelcase-required + + def creatediff(ctx): """create a Differential Diff""" repo = ctx.repo()