CLI Reference
CLI Reference
Section titled “CLI Reference”Copybara command-line interface.
Basic Usage
Section titled “Basic Usage”java -jar copybara_deploy.jar <command> <config_file> [workflow] [flags]Commands
Section titled “Commands”migrate
Section titled “migrate”Run a synchronization workflow:
java -jar copybara.jar migrate copy.bara.sky workflow_name [flags]validate
Section titled “validate”Validate configuration without running:
java -jar copybara.jar validate copy.bara.sky [workflow_name]Show information about a workflow:
java -jar copybara.jar info copy.bara.sky workflow_namefeedback
Section titled “feedback”Run a feedback workflow:
java -jar copybara.jar feedback copy.bara.sky feedback_workflow_nameCommon Flags
Section titled “Common Flags”—init-history
Section titled “—init-history”Process all history (first-time sync):
java -jar copybara.jar migrate copy.bara.sky export --init-history—last-rev
Section titled “—last-rev”Start from a specific commit:
java -jar copybara.jar migrate copy.bara.sky export --last-rev abc123—force
Section titled “—force”Force sync (ignore state, overwrite destination):
java -jar copybara.jar migrate copy.bara.sky export --force—ignore-noop
Section titled “—ignore-noop”Don’t fail if there are no changes:
java -jar copybara.jar migrate copy.bara.sky export --ignore-noop—dry-run
Section titled “—dry-run”Show what would happen without making changes:
java -jar copybara.jar migrate copy.bara.sky export --dry-run—folder-origin
Section titled “—folder-origin”Use local folder as origin:
java -jar copybara.jar migrate copy.bara.sky test \ --folder-origin /path/to/source—folder-destination
Section titled “—folder-destination”Write to local folder:
java -jar copybara.jar migrate copy.bara.sky test \ --folder-destination /path/to/output—git-destination-url
Section titled “—git-destination-url”Override destination URL:
java -jar copybara.jar migrate copy.bara.sky export \ --git-destination-url https://github.com/other/repo—read-config-from-change
Section titled “—read-config-from-change”Read config from the migrated change:
java -jar copybara.jar migrate copy.bara.sky export \ --read-config-from-changeOutput Control
Section titled “Output Control”—console-file-path
Section titled “—console-file-path”Write console output to file:
java -jar copybara.jar migrate copy.bara.sky export \ --console-file-path output.log-v (verbose)
Section titled “-v (verbose)”Increase verbosity:
java -jar copybara.jar migrate copy.bara.sky export -vjava -jar copybara.jar migrate copy.bara.sky export -vv # More verboseExamples
Section titled “Examples”Initial Sync
Section titled “Initial Sync”java -jar copybara.jar migrate copy.bara.sky export --init-historyIncremental Sync
Section titled “Incremental Sync”java -jar copybara.jar migrate copy.bara.sky export --ignore-noopPreview Changes
Section titled “Preview Changes”java -jar copybara.jar migrate copy.bara.sky export \ --folder-destination /tmp/previewValidate Config
Section titled “Validate Config”java -jar copybara.jar validate copy.bara.skyForce Re-sync
Section titled “Force Re-sync”java -jar copybara.jar migrate copy.bara.sky export \ --last-rev abc123 --forceExit Codes
Section titled “Exit Codes”| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | Error |
| 2 | No changes (without —ignore-noop) |
Environment Variables
Section titled “Environment Variables”| Variable | Description |
|---|---|
COPYBARA_CONFIG | Default config file |
GIT_AUTHOR_NAME | Git author name |
GIT_AUTHOR_EMAIL | Git author email |
GIT_COMMITTER_NAME | Git committer name |
GIT_COMMITTER_EMAIL | Git committer email |