有人知道是什么原因导致了这个错误吗?
我正在尝试使用以下命令在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'
-s
一项可疑地限制了参数的总运行长度,并且您指出该命令适用于某些提交但不适用于其他提交。您可以通过设置GIT_TRACE=1
进一步调查差异。xargs -n
来限制参数数量是很常见的,除了使用-s
,但要注意当参数数量超过-n
阈值时,这将执行传递给xargs的命令多次,而git archive
不支持向存档中追加内容。您需要调用一个脚本,该脚本可以增加zip后缀的运行编号,以某种可接受的方式旋转zip文件名,或将输出zip文件显式合并到主zip文件中。EBADF
还可能意味着要归档的文件之一被底层操作系统拒绝了访问权限。