resume
Resume a migration from saved session state.
Syntax
gfrm resume [options]
Main options
--session-file <path>--settings-profile <name>--skip-tags--skip-releases--skip-release-assets--from-tag <tag>--to-tag <tag>--dry-run--download-workers <1..16>--release-workers <1..8>--workdir <dir>--no-banner--quiet--json
Token resolution order
- Session token context
- Settings token (
token_env, thentoken_plain) - Environment aliases (
GFRM_SOURCE_TOKEN,GFRM_TARGET_TOKEN, provider aliases)
Example
gfrm resume --session-file ./sessions/last-session.json
If the default session file does not exist, start a new migrate run instead.
Help and startup checks
gfrm resume --helpprints resume-specific usage and options.- The ASCII banner is reserved for
gfrmandgfrm --help. - Before resuming tag work,
gfrm resumeverifies that the target forge already contains the commit object referenced by each remaining source tag. - If required commit history is missing, the command exits early with remediation guidance, including mirror/helper-branch Git snippets and platform-native suggestions for GitHub, GitLab, or Bitbucket.
--skip-tagsrequires the target forge to already have existing tags; this constraint is validated at runtime and will block migration if violated.--skip-releasesresumes tag migration only and skips release creation/update.--skip-release-assetsresumes release creation/update without downloading or uploading release assets.
Release selection during resume
When resuming a migration:
- Saved skip flags are preserved from the initial
migratecommand (unless overridden with new--skip-*flags on resume) - Release selection still targets semver tags only (
vX.Y.Zformat) - Incomplete releases are retried first, then remaining tags/releases proceed in the standard two-phase order
- Failed items are only retried if they fall within the active phases (e.g., if
--skip-releasesis set, release failures are not retried)