Mercurial > hgrepos > Python > apps > py-cutils
comparison cutils/util/__init__.py @ 279:44e62e36cad4
treesum: when normalizing filenames also remove trailing "/."
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Sat, 22 Feb 2025 18:27:10 +0100 |
| parents | 822cf3a1da22 |
| children | 64df94bf4659 |
comparison
equal
deleted
inserted
replaced
| 278:822cf3a1da22 | 279:44e62e36cad4 |
|---|---|
| 277 while filename.startswith(b"./"): | 277 while filename.startswith(b"./"): |
| 278 filename = filename[2:] | 278 filename = filename[2:] |
| 279 # This also handles adjacent /./ cases | 279 # This also handles adjacent /./ cases |
| 280 while b"/./" in filename: | 280 while b"/./" in filename: |
| 281 filename = filename.replace(b"/./", b"/", 1) | 281 filename = filename.replace(b"/./", b"/", 1) |
| 282 while filename.endswith(b"/."): | |
| 283 filename = filename[:-2] | |
| 282 else: | 284 else: |
| 283 filename = filename.replace(u"\\", u"/") | 285 filename = filename.replace(u"\\", u"/") |
| 284 if strip_dot_slashes: | 286 if strip_dot_slashes: |
| 285 while filename.startswith(u"./"): | 287 while filename.startswith(u"./"): |
| 286 filename = filename[2:] | 288 filename = filename[2:] |
| 287 # This also handles adjacent /./ cases | 289 # This also handles adjacent /./ cases |
| 288 while u"/./" in filename: | 290 while u"/./" in filename: |
| 289 filename = filename.replace(u"/./", u"/", 1) | 291 filename = filename.replace(u"/./", u"/", 1) |
| 292 while filename.endswith(u"/."): | |
| 293 filename = filename[:-2] | |
| 290 return filename | 294 return filename |
| 291 | 295 |
| 292 | 296 |
| 293 def fsencode(what): | 297 def fsencode(what): |
| 294 """A somewhat compatibility function for :func:`os.fsencode`. | 298 """A somewhat compatibility function for :func:`os.fsencode`. |
