Patchwork D7042: phabricator: add the phabhunk data structure

login
register
mail settings
Submitter phabricator
Date Oct. 10, 2019, 9:52 p.m.
Message ID <differential-rev-PHID-DREV-xi67wyryx6nw7bich6cx-req@mercurial-scm.org>
Download mbox | patch
Permalink /patch/42198/
State Superseded
Headers show

Comments

phabricator - Oct. 10, 2019, 9:52 p.m.
Kwan created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  These store the actual diff data (for UTF-8 text files anyway) and are
  equivalent to hunks in a patch file.

REPOSITORY
  rHG Mercurial

BRANCH
  default

REVISION DETAIL
  https://phab.mercurial-scm.org/D7042

AFFECTED FILES
  hgext/phabricator.py

CHANGE DETAILS




To: Kwan, #hg-reviewers
Cc: mercurial-devel

Patch

diff --git a/hgext/phabricator.py b/hgext/phabricator.py
--- a/hgext/phabricator.py
+++ b/hgext/phabricator.py
@@ -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)
+    oldLength = attr.ib(default=0)
+    newOffset = attr.ib(default=0)
+    newLength = attr.ib(default=0)
+    corpus = attr.ib(default='')
+    # These get added to the phabchange's equivalents
+    addLines = attr.ib(default=0)
+    delLines = attr.ib(default=0)
+
+
 def creatediff(ctx):
     """create a Differential Diff"""
     repo = ctx.repo()