Progress:
TIER 2 · MODULE 30· Intermediate

git archimport

If you still have any of these, this is how you escape.

🎯 What & why

git archimport is a one-way importer from GNU Arch (tla/baz) repositories into Git. It exists so you can escape Arch with your history intact.

🧠 Mental model

Think of it as a replay tool: it walks Arch revisions in order and reconstructs them as Git commits in a new repo. After the import, you abandon Arch.

🛠️ Synopsis

    git archimport [-h] [-v] [-o] [-a] [-f] [-T] [-D depth] \
                   [-t tempdir] <archive>/<branch> [<archive>/<branch>...]

Run inside an empty target directory or one already containing a
previous archimport run. Each Arch branch maps to a Git branch.

🎚️ Switches & options

FlagWhat it does
-hShow help
-vVerbose; print each revision as it is replayed
-TUse tags for every Arch revision (noisy, but complete)
-fUse fast patchset application where possible
-oUse the old-style branch names (compat with earlier archimport)
-D <depth>Limit ancestry walk to <depth> revisions back
-t <tempdir>Where to stage intermediate trees during import

💡 Use cases

🧪 Examples

Verbose import of one Arch branch
git archimport -v user@example--2004/project--main--0.1
Import with revision tags
git archimport -v -T user@example--2004/project--main--0.1
Limit history depth and stage in /tmp/ai
git archimport -v -D 500 -t /tmp/ai user@example--2004/project--main--0.1
Serve the resulting repo locally for sanity checks
git -C imported daemon --reuseaddr --base-path=. --export-all --listen=127.0.0.1

🎓 Recommendations

🪤 Common pitfalls

🔗 Related modules

📝 Quiz

Hit each option, then Check answers. Score is recorded; Next is always open.