Browse Source

git-p4: add diff/merge properties to .gitattributes for GitLFS files

The `git lfs track` command generates a .gitattributes file with diff
and merge properties [1]. Set the same .gitattributes format for files
tracked with GitLFS in git-p4.

[1] https://github.com/git-lfs/git-lfs/blob/v1.5.3/commands/command_track.go#L121

Signed-off-by: Lars Schneider <larsxschneider@gmail.com>
Reviewed-by: Luke Diamand <luke@diamand.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Lars Schneider 8 years ago committed by Junio C Hamano
parent
commit
862f9312b3
  1. 4
      git-p4.py
  2. 24
      t/t9824-git-p4-git-lfs.sh

4
git-p4.py

@ -1098,10 +1098,10 @@ class GitLFS(LargeFileSystem): @@ -1098,10 +1098,10 @@ class GitLFS(LargeFileSystem):
'# Git LFS (see https://git-lfs.github.com/)\n',
'#\n',
] +
['*.' + f.replace(' ', '[[:space:]]') + ' filter=lfs -text\n'
['*.' + f.replace(' ', '[[:space:]]') + ' filter=lfs diff=lfs merge=lfs -text\n'
for f in sorted(gitConfigList('git-p4.largeFileExtensions'))
] +
['/' + f.replace(' ', '[[:space:]]') + ' filter=lfs -text\n'
['/' + f.replace(' ', '[[:space:]]') + ' filter=lfs diff=lfs merge=lfs -text\n'
for f in sorted(self.largeFiles) if not self.hasLargeFileExtension(f)
]
)

24
t/t9824-git-p4-git-lfs.sh

@ -81,9 +81,9 @@ test_expect_success 'Store files in LFS based on size (>24 bytes)' ' @@ -81,9 +81,9 @@ test_expect_success 'Store files in LFS based on size (>24 bytes)' '
#
# Git LFS (see https://git-lfs.github.com/)
#
/file2.dat filter=lfs -text
/file4.bin filter=lfs -text
/path[[:space:]]with[[:space:]]spaces/file3.bin filter=lfs -text
/file2.dat filter=lfs diff=lfs merge=lfs -text
/file4.bin filter=lfs diff=lfs merge=lfs -text
/path[[:space:]]with[[:space:]]spaces/file3.bin filter=lfs diff=lfs merge=lfs -text
EOF
test_path_is_file .gitattributes &&
test_cmp expect .gitattributes
@ -109,7 +109,7 @@ test_expect_success 'Store files in LFS based on size (>25 bytes)' ' @@ -109,7 +109,7 @@ test_expect_success 'Store files in LFS based on size (>25 bytes)' '
#
# Git LFS (see https://git-lfs.github.com/)
#
/file4.bin filter=lfs -text
/file4.bin filter=lfs diff=lfs merge=lfs -text
EOF
test_path_is_file .gitattributes &&
test_cmp expect .gitattributes
@ -135,7 +135,7 @@ test_expect_success 'Store files in LFS based on extension (dat)' ' @@ -135,7 +135,7 @@ test_expect_success 'Store files in LFS based on extension (dat)' '
#
# Git LFS (see https://git-lfs.github.com/)
#
*.dat filter=lfs -text
*.dat filter=lfs diff=lfs merge=lfs -text
EOF
test_path_is_file .gitattributes &&
test_cmp expect .gitattributes
@ -163,8 +163,8 @@ test_expect_success 'Store files in LFS based on size (>25 bytes) and extension @@ -163,8 +163,8 @@ test_expect_success 'Store files in LFS based on size (>25 bytes) and extension
#
# Git LFS (see https://git-lfs.github.com/)
#
*.dat filter=lfs -text
/file4.bin filter=lfs -text
*.dat filter=lfs diff=lfs merge=lfs -text
/file4.bin filter=lfs diff=lfs merge=lfs -text
EOF
test_path_is_file .gitattributes &&
test_cmp expect .gitattributes
@ -199,8 +199,8 @@ test_expect_success 'Remove file from repo and store files in LFS based on size @@ -199,8 +199,8 @@ test_expect_success 'Remove file from repo and store files in LFS based on size
#
# Git LFS (see https://git-lfs.github.com/)
#
/file2.dat filter=lfs -text
/path[[:space:]]with[[:space:]]spaces/file3.bin filter=lfs -text
/file2.dat filter=lfs diff=lfs merge=lfs -text
/path[[:space:]]with[[:space:]]spaces/file3.bin filter=lfs diff=lfs merge=lfs -text
EOF
test_path_is_file .gitattributes &&
test_cmp expect .gitattributes
@ -237,8 +237,8 @@ test_expect_success 'Add .gitattributes and store files in LFS based on size (>2 @@ -237,8 +237,8 @@ test_expect_success 'Add .gitattributes and store files in LFS based on size (>2
#
# Git LFS (see https://git-lfs.github.com/)
#
/file2.dat filter=lfs -text
/path[[:space:]]with[[:space:]]spaces/file3.bin filter=lfs -text
/file2.dat filter=lfs diff=lfs merge=lfs -text
/path[[:space:]]with[[:space:]]spaces/file3.bin filter=lfs diff=lfs merge=lfs -text
EOF
test_path_is_file .gitattributes &&
test_cmp expect .gitattributes
@ -278,7 +278,7 @@ test_expect_success 'Add big files to repo and store files in LFS based on compr @@ -278,7 +278,7 @@ test_expect_success 'Add big files to repo and store files in LFS based on compr
#
# Git LFS (see https://git-lfs.github.com/)
#
/file6.bin filter=lfs -text
/file6.bin filter=lfs diff=lfs merge=lfs -text
EOF
test_path_is_file .gitattributes &&
test_cmp expect .gitattributes

Loading…
Cancel
Save