これは、git プロジェクトとそのすべてのサブモジュールから単一の tarball を生成する git-archive-all スタイル スクリプトの一部です。
サブモジュールのアーカイブは個別に生成し、スーパープロジェクトのアーカイブに追加する必要があります。しかし、私はそれらをその場でスーパープロジェクトのアーカイブに追加したいと思います。
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 -
無効です。
私は2段階でそれを行うことができますが、これをどのように行うか分からないのは愚かであることを願っています.
以下は、2 つのステップで行われます。
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