mirror of
https://github.com/newren/git-filter-repo.git
synced 2024-07-02 00:15:38 +02:00
lint-history: fix binary blob detection
We had a lingering issue in the conversion from python2 to python3; as reported by @thebrandre on GitHub: any(x==b'1' for x in b"123") # returns True in Python2 and False in Python3 because different # types are returned on iteration: [type(x) for x in b"123"] # Python2: [<type 'str'>, <type 'str'>, <type 'str'>] # Python3: [<class 'int'>, <class 'int'>, <class 'int'>] Replace the any(x==b"0" for x in blob.data[0:8192]) construct with b"\0" in blob.data[0:8192] to fix this. Suggested-by: @thebrandre on GitHub Signed-off-by: Elijah Newren <newren@gmail.com>
This commit is contained in:
parent
cf84943982
commit
97a1613f81
|
@ -30,7 +30,7 @@ near the top of git-filter-repo.
|
|||
# Technically, if you are only running on all non-binary files and don't care
|
||||
# about filenames, then this program could be replaced by a "one-liner"; e.g.
|
||||
# git filter-repo --force --blob-callback '
|
||||
# if not any(x == b"0" for x in blob.data[0:8192]):
|
||||
# if not b"\0" in blob.data[0:8192]:
|
||||
# filename = '.git/info/tmpfile'
|
||||
# with open(filename, "wb") as f:
|
||||
# f.write(blob.data)
|
||||
|
@ -129,7 +129,7 @@ def lint_with_real_filenames(commit, metadata):
|
|||
change.blob_id = blob.id
|
||||
|
||||
def lint_non_binary_blobs(blob, metadata):
|
||||
if not any(x == b"0" for x in blob.data[0:8192]):
|
||||
if not b"\0" in blob.data[0:8192]:
|
||||
filename = '.git/info/tmpfile'
|
||||
with open(filename, "wb") as f:
|
||||
f.write(blob.data)
|
||||
|
|
Loading…
Reference in New Issue
Block a user