Някой знае ли какво може да причини тази грешка?
Опитвам се да създам пакет на git, използвайки тази команда:
git diff -z --name-only --diff-filter=MAR 5e2a4b4 5261fe1 | xargs -s1000000 -0 git archive develop -o 'package.zip'
Някой знае ли какво може да причини тази грешка?
Опитвам се да създам пакет на git, използвайки тази команда:
git diff -z --name-only --diff-filter=MAR 5e2a4b4 5261fe1 | xargs -s1000000 -0 git archive develop -o 'package.zip'
Освен получаване на грешката на ssh, която вече сте изключили, може също така да се окаже, че git archive може да обработва ограничен брой аргументи в командния ред.
Вие вече (подозрително) ограничавате общата текуща дължина на аргументите с -s
и посочихте, че вашата команда работи за някои ангажименти, но не и за другите. Можете да проучите допълнително разликата, като зададете GIT_TRACE=1
.
Обикновено е обичайно да се ограничава броят на аргументите с xargs -n
в допълнение към -s
, но внимавайте, тъй като това ще изпълни командата, предадена на xargs многократно, когато броят на аргументите надхвърли прага -n
, а git archive
не поддържа добавяне към архив . Вместо това ще трябва да извикате скрипт, който може да увеличи текущия номер за суфикса на zip архива, да завърти имената на zip файловете по някакъв приемлив начин или изрично да обедини изходните zip файлове в главен zip файл.
И ако работите на cygwin, EBADF
може също да означава, че разрешението за един от файловете, които трябва да бъдат архивирани, е отказано от основната операционна система.