Archive repository with all its submodules.
git-archive-all [-v] [-C BASE_REPO] [--prefix PREFIX] [--no-exclude] [--force-submodules] [--extra EXTRA1 ...] [--dry-run] [-0 | ... | -9] OUTPUT_FILE Options: --version show program's version number and exit -h, --help show this help message and exit -v, --verbose enable verbose mode --prefix=PREFIX prepend PREFIX to each filename in the archive; defaults to OUTPUT_FILE name -C BASE_REPO use BASE_REPO as the main git repository to archive; defaults to the current directory when empty --no-exclude ignore the [-]export-ignore attribute in .gitattributes --force-submodules force `git submodule init && git submodule update` at each level before iterating submodules --extra=EXTRA additional files to include in the archive --dry-run show files to be archived without actually creating the archive
Questions & Answers
Q: How to exclude files?
A: Mark paths you want to exclude in the .gitattributes file with the export-ignore attribute. Read more on git-scm.com.
Q: What about non-unicode filenames?
A: All filenames that particular version of Python can represent and handle are supported. Extra [en|de]coding is done where appropriate.
Support
If functional you need is missing but you're ready to pay for it, feel free to contact me. If not, create an issue anyway, I'll take a look as soon as I can.