Есть проблема, git archive ставит время изменения всех файлов от времени коммита.
А rsync с опцией -a оперирует временем и размером файлов, в итоге обновляет все файлы в конечной директории, что равносильно сразу распаковать tar в конечную точку.
Что бы правильно работало и обновляло только изменившиеся файлы необходимо заставить rsync оперировать только контентом файлом а именно использовать опцию -с или --checksum.
И вместо gitdir=`pwd` cd "$tmpdir" --git-dir="$gitdir", можно просто указать tar x -C "$tmpdir"
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
А rsync с опцией -a оперирует временем и размером файлов, в итоге обновляет все файлы в конечной директории, что равносильно сразу распаковать tar в конечную точку.
Что бы правильно работало и обновляло только изменившиеся файлы необходимо заставить rsync оперировать только контентом файлом а именно использовать опцию -с или --checksum.
И вместо gitdir=`pwd` cd "$tmpdir" --git-dir="$gitdir", можно просто указать tar x -C "$tmpdir"