[PATCH 3 of 4 censor RFC] mdiff: add helper for making deltas which replace the full text of a revision

Augie Fackler raf at durin42.com
Tue Feb 10 13:15:47 CST 2015


On Thu, Feb 05, 2015 at 10:57:49PM -0500, Mike Edgar wrote:
> # HG changeset patch
> # User Mike Edgar <adgar at google.com>
> # Date 1421876109 18000
> #      Wed Jan 21 16:35:09 2015 -0500
> # Node ID 95ed0ff48518b8390eb084e8efb9e647516a0b8d
> # Parent  75e6aa3db49612a96fe768e16fd17c22f0a21ce9
> mdiff: add helper for making deltas which replace the full text of a revision
>
> This helper will be used initially for censor-aware delta generation. Deltas
> which replace the full contents of the base revision are guaranteed to apply
> correctly regardless of whether the delta recipient has censored the base.
>
> For background and broader design of the censorship feature, see:
> http://mercurial.selenic.com/wiki/CensorPlan
>
> diff -r 75e6aa3db496 -r 95ed0ff48518 mercurial/mdiff.py
> --- a/mercurial/mdiff.py	Fri Jan 23 17:01:39 2015 -0500
> +++ b/mercurial/mdiff.py	Wed Jan 21 16:35:09 2015 -0500
> @@ -367,6 +367,9 @@
>  def trivialdiffheader(length):
>      return struct.pack(">lll", 0, 0, length)
>
> +def replacediffheader(old, new):
> +    return struct.pack(">lll", 0, old, new)

it wasn't immediately obvious to me that old and new are
lengths. Maybe oldlen and newlen?

> +
>  patches = mpatch.patches
>  patchedsize = mpatch.patchedsize
>  textdiff = bdiff.bdiff
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel


More information about the Mercurial-devel mailing list