Documentation
Import and export
Move supported branches and tags using native Git bundles and checksum manifests.
What an export contains
A repository export produces two files: a self-contained Git bundle and its cpgit manifest. Download both. The manifest identifies refs, object format and checksum for verification and import. Exports are available to current repository admins and service admins for active or archived repositories.
Exports are repository transfers. They do not include instance users, permissions, secrets, tombstones or the policy database. Use offline instance backups for a recoverable service copy.
Export a repository
Start an export from the repository's console page and wait for its operation to complete. Download the bundle and manifest from the completed result. The service rechecks the session and current repository policy for each bounded download chunk. Revocation can stop later chunks; it cannot recall bytes already delivered.
Prepare an import
Service admins can import a self-contained bundle with a matching manifest into a new repository. For a normal source repository, prepare supported branch and tag refs:
git bundle create repo.bundle --branches --tags
git bundle verify repo.bundle
A bundle alone is insufficient. Prepare its manifest using the exact bundle format contract, including the supported refs and checksum. Extra bundle heads or unsupported namespaces are rejected. The browser manifest limit is 512 KiB. Existing native object/blob/ref, filesystem and capacity limits also apply.
Upload and resume
The browser uploads bounded chunks to a daemon-owned opaque upload ID. After a disconnect, find Retained uploads for the initiating admin and resume with the exact same files. The service checks offsets and retained bytes. Uploaded bundles may be submitted without uploading them again.
After five minutes without activity, an upload's remaining capacity reservation expires; the bytes remain. Resume reacquires capacity. Abandoned inputs are not automatically deleted.
Wait for validation
An import becomes a repository only after native validation succeeds. A checksum or Git failure remains a failed operation with retained artifacts. Do not infer success from an accepted response or process exit alone. Inspect operation details and actual refs, and clone the result to verify the transfer.