Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/fileset.py @ 38420:235d0bc11e1d
fileset: use filectx.isbinary() to filter out binaries in eol()
Since LFS stores the binary attribute in the pointer file, this means that the
file doesn't need to be downloaded in order to be skipped. This function also
catches an IOError if the data can't be loaded in the non-LFS case.
I wonder if it's worth storing the unix/dos attributes in the pointer file as
well, though I'd expect LFS files to be binary most of the time.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Thu, 21 Jun 2018 00:05:26 -0400 |
parents | 8783f128048e |
children | d046bf37f1ba |
comparison
equal
deleted
inserted
replaced
38419:96871ca32270 | 38420:235d0bc11e1d |
---|---|
446 # i18n: "eol" is a keyword | 446 # i18n: "eol" is a keyword |
447 enc = getstring(x, _("eol requires a style name")) | 447 enc = getstring(x, _("eol requires a style name")) |
448 | 448 |
449 s = [] | 449 s = [] |
450 for f in mctx.existing(): | 450 for f in mctx.existing(): |
451 d = mctx.ctx[f].data() | 451 fctx = mctx.ctx[f] |
452 if stringutil.binary(d): | 452 if fctx.isbinary(): |
453 continue | 453 continue |
454 d = fctx.data() | |
454 if (enc == 'dos' or enc == 'win') and '\r\n' in d: | 455 if (enc == 'dos' or enc == 'win') and '\r\n' in d: |
455 s.append(f) | 456 s.append(f) |
456 elif enc == 'unix' and re.search('(?<!\r)\n', d): | 457 elif enc == 'unix' and re.search('(?<!\r)\n', d): |
457 s.append(f) | 458 s.append(f) |
458 elif enc == 'mac' and re.search('\r(?!\n)', d): | 459 elif enc == 'mac' and re.search('\r(?!\n)', d): |