# Install git-archive-all with Homebrew, apk, dnf, Nix

Archive a project and its submodules. Version 1.23.1 via Homebrew; verified from local package data. Also installable with nix: nix profile install nixpkgs#git-archive-all.

## Install

```sh
sudo av install brew:git-archive-all
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install git-archive-all
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add git-archive-all
```

  Evidence: Alpine Linux edge package indexes: git-archive-all from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- dnf (92%):

```sh
sudo dnf install git-archive-all
```

  Evidence: Fedora Rawhide package metadata: git-archive-all from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#git-archive-all
```

  Evidence: nixpkgs package indexes: pkgs/by-name/gi/git-archive-all/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:git-archive-all
- **Package manager:** Homebrew
- **Version:** 1.23.1
- **Source summary:** Archive a project and its submodules
- **Homepage:** <https://github.com/Kentzo/git-archive-all>
- **Repository:** <https://github.com/Kentzo/git-archive-all>
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- git-archive-all (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 1.23.1
## Project history and usage

git-archive-all is a Python command-line wrapper around git archive that archives a Git superproject together with its submodules.

### Project history

The repository opened in 2010 to solve a practical packaging gap: git archive works well for one repository, but release tarballs often need the checked-out contents of submodules too. The project kept the interface close to git archive while adding recursive submodule traversal, export-ignore support, include paths, dry-run output, and compression control.

The changelog shows a maintenance phase focused on cross-platform archive correctness: tests and export-ignore handling in 2018, Windows and Apple Git compatibility fixes, non-Unicode filename handling, and a 2021 change to retrieve submodule lists via Git rather than parsing .gitmodules directly.

### Adoption history

Adoption is utilitarian rather than broad-platform-defining. Its presence on PyPI, Homebrew, and Linux package sets reflects a common release-engineering need: produce source archives from repositories whose dependencies are tracked as Git submodules.

### How it is used

Practitioners run git-archive-all with an output filename, optional base repository, prefix, export-ignore behavior, forced submodule update, include paths, dry-run mode, and compression level. It is typically used for release tarballs, vendor drops, or reproducible snapshots where submodules must be included.

### Why package nerds care

Package maintainers care because missing submodules are a classic broken-source-tarball problem. git-archive-all offers a boring, scriptable answer that honors Git attributes and avoids inventing a new archive format.

### Timeline

- 2010: Repository created.
- 2018: CHANGES.rst started tracking releases; tests and export-ignore handling were added.
- 2018: Windows support and Apple Git compatibility fixes landed in the 1.19 series.
- 2021: Version 1.23.0 began retrieving submodules via Git.
- 2022: Version 1.23.1 added typing information to PyPI and source distributions.

### Related projects

- Related tools include Git's git archive command, Git submodules, .gitattributes export-ignore rules, PyPI packaging, and Homebrew formula packaging.

### Sources

- <https://api.github.com/repos/Kentzo/git-archive-all>
- <https://formulae.brew.sh/formula/git-archive-all>
- <https://github.com/Kentzo/git-archive-all>
- <https://github.com/Kentzo/git-archive-all/blob/master/CHANGES.rst>
- <https://github.com/Kentzo/git-archive-all/blob/master/README.rst>


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal

## Other Package-Manager Records

- Nix - git-archive-all: normalized package name match | nixpkgs package indexes: pkgs/by-name/gi/git-archive-all/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - git-archive-all - 1.23.1-r5: normalized package name match | Alpine Linux edge package indexes: git-archive-all from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Wrapper for git-archive that archives a git superproject and its submodules | https://github.com/Kentzo/git-archive-all
- apk - git-archive-all-pyc - 1.23.1-r5: normalized package name match | Alpine Linux edge package indexes: git-archive-all-pyc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Precompiled Python bytecode for git-archive-all | https://github.com/Kentzo/git-archive-all
- dnf - git-archive-all - 1.23.1-17.fc45: normalized package name match | Fedora Rawhide package metadata: git-archive-all from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Archive git repository with its submodules | https://github.com/Kentzo/git-archive-all


## Combined YAML source

View the package source record on GitHub. [combined/git-archive-all.yml](https://github.com/mxcl/pkgdb/blob/main/combined/git-archive-all.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
