5

这是 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
4

0 回答 0