Mercurial > hgrepos > Python > apps > py-cutils
comparison cutils/treesum.py @ 130:d5621028ce39
Change again the filename tags to be used for symlinks
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Thu, 02 Jan 2025 19:50:24 +0100 |
| parents | bdd8ea43074b |
| children | 3a18d71d7c50 |
comparison
equal
deleted
inserted
replaced
| 129:bdd8ea43074b | 130:d5621028ce39 |
|---|---|
| 151 if not handle_root_logical and os.path.islink(root): | 151 if not handle_root_logical and os.path.islink(root): |
| 152 linktgt = util.fsencode(os.readlink(root)) | 152 linktgt = util.fsencode(os.readlink(root)) |
| 153 linkdgst = algorithm[0]() | 153 linkdgst = algorithm[0]() |
| 154 linkdgst.update(linktgt) | 154 linkdgst.update(linktgt) |
| 155 dir_dgst = algorithm[0]() | 155 dir_dgst = algorithm[0]() |
| 156 dir_dgst.update(b"1:S,4:/./@,") | 156 dir_dgst.update(b"1:S,3:./@,") |
| 157 dir_dgst.update(linkdgst.digest()) | 157 dir_dgst.update(linkdgst.digest()) |
| 158 outfp.write(format_bsd_line( | 158 outfp.write(format_bsd_line( |
| 159 algorithm[1], | 159 algorithm[1], |
| 160 dir_dgst.digest(), | 160 dir_dgst.digest(), |
| 161 "/./@", | 161 "./@", |
| 162 use_base64)) | 162 use_base64)) |
| 163 outfp.flush() | 163 outfp.flush() |
| 164 return | 164 return |
| 165 | 165 |
| 166 for top, dirs, nondirs in walk.walk(root, follow_symlinks=False): | 166 for top, dirs, nondirs in walk.walk(root, follow_symlinks=False): |
| 221 return b"%s (%s)%s" % (digestname, filename, ls) | 221 return b"%s (%s)%s" % (digestname, filename, ls) |
| 222 if use_base64: | 222 if use_base64: |
| 223 value = base64.b64encode(value) | 223 value = base64.b64encode(value) |
| 224 else: | 224 else: |
| 225 value = binascii.hexlify(value) | 225 value = binascii.hexlify(value) |
| 226 if filename != b"/./@": | 226 if filename != b"./@": |
| 227 filename = util.normalize_filename(filename, True) | 227 filename = util.normalize_filename(filename, True) |
| 228 return b"%s (%s) = %s%s" % (digestname, filename, value, ls) | 228 return b"%s (%s) = %s%s" % (digestname, filename, value, ls) |
| 229 | 229 |
| 230 | 230 |
| 231 if __name__ == "__main__": | 231 if __name__ == "__main__": |
