зеркало из https://github.com/microsoft/git.git
Merge branch 'pw/p4-appledouble-fix'
* pw/p4-appledouble-fix: git-p4: ignore apple filetype
This commit is contained in:
Коммит
de26347950
|
@ -1318,6 +1318,19 @@ class P4Sync(Command, P4UserMap):
|
|||
text = p4_read_pipe(['print', '-q', '-o', '-', file['depotFile']])
|
||||
contents = [ text ]
|
||||
|
||||
if type_base == "apple":
|
||||
# Apple filetype files will be streamed as a concatenation of
|
||||
# its appledouble header and the contents. This is useless
|
||||
# on both macs and non-macs. If using "print -q -o xx", it
|
||||
# will create "xx" with the data, and "%xx" with the header.
|
||||
# This is also not very useful.
|
||||
#
|
||||
# Ideally, someday, this script can learn how to generate
|
||||
# appledouble files directly and import those to git, but
|
||||
# non-mac machines can never find a use for apple filetype.
|
||||
print "\nIgnoring apple filetype file %s" % file['depotFile']
|
||||
return
|
||||
|
||||
# Perhaps windows wants unicode, utf16 newlines translated too;
|
||||
# but this is not doing it.
|
||||
if self.isWindows and type_base == "text":
|
||||
|
|
|
@ -101,6 +101,37 @@ test_expect_success 'keyword file test' '
|
|||
)
|
||||
'
|
||||
|
||||
build_gendouble() {
|
||||
cat >gendouble.py <<-\EOF
|
||||
import sys
|
||||
import struct
|
||||
import array
|
||||
|
||||
s = array.array("c", '\0' * 26)
|
||||
struct.pack_into(">L", s, 0, 0x00051607) # AppleDouble
|
||||
struct.pack_into(">L", s, 4, 0x00020000) # version 2
|
||||
s.tofile(sys.stdout)
|
||||
EOF
|
||||
}
|
||||
|
||||
test_expect_success 'ignore apple' '
|
||||
test_when_finished rm -f gendouble.py &&
|
||||
build_gendouble &&
|
||||
(
|
||||
cd "$cli" &&
|
||||
test-genrandom apple 1024 >double.png &&
|
||||
"$PYTHON_PATH" "$TRASH_DIRECTORY/gendouble.py" >%double.png &&
|
||||
p4 add -t apple double.png &&
|
||||
p4 submit -d appledouble
|
||||
) &&
|
||||
test_when_finished cleanup_git &&
|
||||
"$GITP4" clone --dest="$git" //depot@all &&
|
||||
(
|
||||
cd "$git" &&
|
||||
test ! -f double.png
|
||||
)
|
||||
'
|
||||
|
||||
test_expect_success 'kill p4d' '
|
||||
kill_p4d
|
||||
'
|
||||
|
|
Загрузка…
Ссылка в новой задаче