Skip to content

Commit 0c5f040

Browse files
committed
Use new git lfs (broken due to lfs returning non-lfs files)
1 parent e11d94c commit 0c5f040

File tree

3 files changed

+8
-21
lines changed

3 files changed

+8
-21
lines changed

get-git-lfs.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88

99
DOWNLOAD_PATH = (
1010
'https://github.com/github/git-lfs/releases/download/'
11-
'v1.1.0/git-lfs-linux-amd64-1.1.0.tar.gz'
11+
'v2.2.1/git-lfs-linux-amd64-2.2.1.tar.gz'
1212
)
13-
PATH_IN_TAR = 'git-lfs-1.1.0/git-lfs'
13+
PATH_IN_TAR = 'git-lfs-2.2.1/git-lfs'
1414
DEST_PATH = '/tmp/git-lfs/git-lfs'
1515
DEST_DIR = os.path.dirname(DEST_PATH)
1616

pre_commit_hooks/check_added_large_files.py

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from __future__ import unicode_literals
55

66
import argparse
7+
import json
78
import math
89
import os
910

@@ -13,23 +14,13 @@
1314

1415

1516
def lfs_files():
16-
try: # pragma: no cover (no git-lfs)
17-
lines = cmd_output('git', 'lfs', 'status', '--porcelain').splitlines()
17+
try:
18+
# Introduced in git-lfs 2.2.0, first working in 2.2.1
19+
lfs_ret = cmd_output('git', 'lfs', 'status', '--json')
1820
except CalledProcessError: # pragma: no cover (with git-lfs)
19-
lines = []
21+
lfs_ret = '{"files":{}}'
2022

21-
modes_and_fileparts = [
22-
(line[:3].strip(), line[3:].rpartition(' ')[0]) for line in lines
23-
]
24-
25-
def to_file_part(mode, filepart): # pragma: no cover (no git-lfs)
26-
assert mode in ('A', 'R')
27-
return filepart if mode == 'A' else filepart.split(' -> ')[1]
28-
29-
return {
30-
to_file_part(mode, filepart) for mode, filepart in modes_and_fileparts
31-
if mode in ('A', 'R')
32-
}
23+
return set(json.loads(lfs_ret)['files'])
3324

3425

3526
def find_large_added_files(filenames, maxkb):

tests/check_added_large_files_test.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,6 @@ def has_gitlfs():
7979
@xfailif_no_gitlfs
8080
def test_allows_gitlfs(temp_git_dir): # pragma: no cover
8181
with temp_git_dir.as_cwd():
82-
# Work around https://github.com/github/git-lfs/issues/913
83-
cmd_output(
84-
'git', 'commit', '--no-gpg-sign', '--allow-empty', '-m', 'foo',
85-
)
8682
cmd_output('git', 'lfs', 'install')
8783
temp_git_dir.join('f.py').write('a' * 10000)
8884
cmd_output('git', 'lfs', 'track', 'f.py')

0 commit comments

Comments
 (0)