From patchwork Sat Oct 12 01:56:48 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: D7044: phabricator: add the phabdiff data structure From: phabricator X-Patchwork-Id: 42245 Message-Id: To: Phabricator Cc: mercurial-devel@mercurial-scm.org Date: Sat, 12 Oct 2019 01:56:48 +0000 Closed by commit rHG75e7628b488f: phabricator: add the phabdiff data structure (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/D7044?vs=17075&id=17092 CHANGES SINCE LAST ACTION https://phab.mercurial-scm.org/D7044/new/ REVISION DETAIL https://phab.mercurial-scm.org/D7044 AFFECTED FILES hgext/phabricator.py CHANGE DETAILS To: Kwan, #hg-reviewers, indygreg Cc: mercurial-devel diff --git a/hgext/phabricator.py b/hgext/phabricator.py --- a/hgext/phabricator.py +++ b/hgext/phabricator.py @@ -522,6 +522,32 @@ self.delLines += hunk.delLines +@attr.s +class phabdiff(object): + """Represents a Differential diff, owns Differential changes. Corresponds + to a commit. + """ + + # Doesn't seem to be any reason to send this (output of uname -n) + sourceMachine = attr.ib(default=b'') # camelcase-required + sourcePath = attr.ib(default=b'/') # camelcase-required + sourceControlBaseRevision = attr.ib(default=b'0' * 40) # camelcase-required + sourceControlPath = attr.ib(default=b'/') # camelcase-required + sourceControlSystem = attr.ib(default=b'hg') # camelcase-required + branch = attr.ib(default=b'default') + bookmark = attr.ib(default=None) + creationMethod = attr.ib(default=b'phabsend') # camelcase-required + lintStatus = attr.ib(default=b'none') # camelcase-required + unitStatus = attr.ib(default=b'none') # camelcase-required + changes = attr.ib(default=attr.Factory(dict)) + repositoryPHID = attr.ib(default=None) # camelcase-required + + def addchange(self, change): + if not isinstance(change, phabchange): + raise error.Abort(b'phabdiff.addchange only takes phabchanges') + self.changes[change.currentPath] = change + + def creatediff(ctx): """create a Differential Diff""" repo = ctx.repo()