这是git-archive-all样式脚本的一部分,它将从git项目及其所有子模块生成单个tarball。
子模块存档必须单独生成并附加到超级项目的存档中。但是我想将它们动态地附加到超级项目档案中,如下所示:
git archive --format=tar ... > super.tar
# pseudo git foreach submodule ; do
(cd $submodule && git archive --format=tar ...) | tar -Af super.tar
# done
但是super.tar没有修改。 tar -Af super.tar -
无效。
我可以分两个阶段进行,但我希望我只是愚蠢而不知道如何解决这个问题。
下面分两步完成:
git archive --format=tar ... > super.tar
# pseudo git foreach submodule ; do
(cd $submodule && git archive --format=tar ...) > $submodule.tar
tar -Af super.tar $submodule.tar && rm -f $submodule.tar
# done