diff -r 8b4b9ee6001a -r 903c7e8c97ad mercurial/changegroup.py --- a/mercurial/changegroup.py Fri Feb 06 11:04:55 2015 -0800 +++ b/mercurial/changegroup.py Wed Jan 21 22:09:32 2015 -0500 @@ -482,7 +482,17 @@ base = self.deltaparent(revlog, rev, p1, p2, prev) prefix = '' - if base == nullrev: + if revlog.iscensored(base) or revlog.iscensored(rev): + try: + delta = revlog.revision(node) + except error.CensoredNodeError, e: + delta = e.tombstone + if base == nullrev: + prefix = mdiff.trivialdiffheader(len(delta)) + else: + baselen = revlog.rawsize(base) + prefix = mdiff.replacediffheader(baselen, len(delta)) + elif base == nullrev: delta = revlog.revision(node) prefix = mdiff.trivialdiffheader(len(delta)) else: