> tmppr

Migrate from GitHub

Bring a repo — or your whole org — into tmppr Cloud with one command. Issues, comments, pull requests, and reviews come along. Dry-run first, resume if interrupted, roll back cleanly.

1

Create a GitHub token

Create a personal access token on GitHub with read access to the repos you're migrating, then export it (or pass it per command):

export GITHUB_TOKEN=ghp_...
2

Sign in to tmppr Cloud

tmppr cloud login --token <token>
tmppr cloud status

No account yet? Start on the pricing page.

3

Migrate a repository

tmppr migrate migrate-repo acme/widgets widgets --dry-run   # rehearse first
tmppr migrate migrate-repo acme/widgets widgets

The first argument is the GitHub source (owner/repo); the second is the target Cloud repo name. The command prints a migration GUID — keep it, every follow-up step uses it.

4

Watch the migration

tmppr migrate status <guid>

Imports are idempotent and resumable — re-running a migration picks up where it left off instead of duplicating data.

5

Reclaim mannequins

Authors and reviewers who don't have a tmppr account yet are imported as mannequins — placeholder users that hold their activity. Re-point each mannequin to a real user once they join:

tmppr migrate generate-mannequin-csv <guid>    # list unmapped mannequins
tmppr migrate reclaim-mannequin <guid> <mannequin> <user>

By default this sends the user an invitation to accept the attribution; admins can re-point immediately with --skip-invitation.

6

Migrate a whole org

tmppr migrate migrate-org --github-org acme --prefix acme-

Migrates every repo of a GitHub org (or user) under one org GUID. Supports --dry-run, and --guid resumes an interrupted run — repos that already succeeded are skipped.

7

Keep it in sync

tmppr migrate mirror --guid <guid>

A one-way delta sync that pulls new issues, comments, PRs, and other metadata from the GitHub source of a completed migration. Re-run it as often as you like while you transition. It syncs metadata only — not new git commits.

Changed your mind? tmppr migrate cleanup <guid> deletes everything that migration imported.

What migrates — and what doesn't (yet)

DataStatus
Issues and commentsMigrated
Pull requests, reviews, and review commentsMigrated
LabelsPreserved on issues — standalone label management coming
Milestones and releasesArchived, not yet imported
Git history and branchesNot yet — push your clone: git push --mirror <tmppr clone URL>
WikiNot yet
Branch protectionsNot yet — re-create with merge rules
Ongoing git-history sync via mirrorNot yet — mirror syncs metadata only
Actions secrets, runners, and artifactsNot migrated — re-create them in tmppr
Git LFS objectsNot yet
WebhooksNot migrated — re-add on the tmppr side
Packages and projectsNot migrated
Team membershipNot migrated — rebuild with tmppr team