diff --git a/reviewboard/scmtools/hg.py b/reviewboard/scmtools/hg.py
--- a/reviewboard/scmtools/hg.py
+++ b/reviewboard/scmtools/hg.py
@@ -53,8 +53,23 @@ class HgDiffParser(DiffParser):
     """
 
     def parse_special_header(self, linenum, info):
-        # XXX: does not handle git style diffs
-        if self.lines[linenum].startswith("diff -r"):
+        # XXX: Only handles git style diffs if they are in an HG changeset.
+        if self.lines[0].startswith("# HG changeset patch"):
+            line = 1
+            while line < len(self.lines) and self.lines[line].startswith('# '):
+                if self.lines[line].startswith("# Parent"):
+                    parentLine = self.lines[line].split()
+                    info['origInfo'] = parentLine[2]
+                    info['origChangesetId'] = parentLine[2]
+                    info['newInfo'] = "Uncommitted"
+                    break
+                line += 1
+
+        if self.lines[linenum].startswith("diff --git"):
+            info['origFile'], info['newFile'] = \
+                [f[2:] for f in self.lines[linenum].split()[2:4]]
+            linenum += 1
+        elif self.lines[linenum].startswith("diff -r"):
             # diff between two revisions are in the following form:
             #  "diff -r abcdef123456 -r 123456abcdef filename"
             # diff between a revision and the working copy are like:
