On Fri, 15 Sep 2017 19:14:07 -0400, Augie Fackler wrote:
> # HG changeset patch
> # User Augie Fackler <r...@durin42.com>
> # Date 1503451354 14400
> #      Tue Aug 22 21:22:34 2017 -0400
> # Node ID 050dd624a9a887c3efde65b7750311d3d3bd716c
> # Parent  e6d61e2a38873be057c9ecd0432750935423d745
> repair: reliably obtain bytestr of node ids
> 
> diff --git a/mercurial/repair.py b/mercurial/repair.py
> --- a/mercurial/repair.py
> +++ b/mercurial/repair.py
> @@ -12,7 +12,10 @@ import errno
>  import hashlib
>  
>  from .i18n import _
> -from .node import short
> +from .node import (
> +    hex,
> +    short,
> +)
>  from . import (
>      bundle2,
>      changegroup,
> @@ -21,6 +24,7 @@ from . import (
>      exchange,
>      obsolete,
>      obsutil,
> +    pycompat,
>      util,
>  )
>  
> @@ -35,8 +39,9 @@ def _bundle(repo, bases, heads, node, su
>      # Include a hash of all the nodes in the filename for uniqueness
>      allcommits = repo.set('%ln::%ln', bases, heads)
>      allhashes = sorted(c.hex() for c in allcommits)
> -    totalhash = hashlib.sha1(''.join(allhashes)).hexdigest()
> -    name = "%s/%s-%s-%s.hg" % (backupdir, short(node), totalhash[:8], suffix)
> +    totalhash = hashlib.sha1(''.join(allhashes)).digest()
> +    name = "%s/%s-%s-%s.hg" % (backupdir, pycompat.bytestr(short(node)),
> +                               hex(totalhash[:4]), suffix)

Perhaps pycompat.bytestr() isn't needed. node.short() returns a bytes.
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to