vcspull import codecommit

Import repositories from AWS CodeCommit.

Command

Import repositories from AWS CodeCommit.

Usage

usage: vcspull import codecommit [-h] [-w DIR] [-l LANG] [--topics TOPICS]
                                 [--min-stars N] [--archived] [--forks]
                                 [--limit N] [-f FILE] [--dry-run] [--yes]
                                 [--json] [--ndjson] [--https] [--sync]
                                 [--prune] [--prune-untracked]
                                 [--color {auto,always,never}]
                                 [--region REGION] [--profile PROFILE]
                                 [TARGET]

Positional Arguments

target TARGET

Optional substring filter for repository names

Default

Options

-w, --workspace DIR

Workspace root directory (REQUIRED)

Default
None
--region REGION

AWS region for CodeCommit

Default
None
--profile PROFILE

AWS profile for CodeCommit

Default
None

Filtering

-l, --language LANG

Filter by programming language

Default
None
--topics TOPICS

Filter by topics (comma-separated)

Default
None
--min-stars N

Minimum stars (for search mode)

Default
0
Type
int
--archived

Include archived repositories

Default
False
--forks

Include forked repositories

Default
False
--limit N

Maximum repositories to fetch (default: 100, 0 = no limit)

Default
100
Type
int

Output

-f, --file FILE

Config file to write to (default: ~/.vcspull.yaml)

Default
None
--dry-run, -n

Preview without writing to config file

Default
False
--yes, -y

Skip confirmation prompt

Default
False
--json

Output as JSON

Default
False
--ndjson

Output as NDJSON (one JSON per line)

Default
False
--https

Use HTTPS clone URLs instead of SSH (default: SSH)

Default
False
--sync

Sync config with remote: update URLs for existing entries whose URL has changed, and remove entries no longer on the remote. Preserves all metadata (options, remotes, shell_command_after). Respects pinned entries (options.pin.import).

Default
False
--prune

Remove config entries tagged by a previous import that are no longer on the remote. Does not update URLs for existing entries (use --sync for that). Implied by --sync. Respects pinned entries.

Default
False
--prune-untracked

With --sync or --prune, also remove config entries in the target workspace that lack import provenance (e.g. manually added repos). Entries imported from other sources and pinned entries are preserved. Requires --sync or --prune.

Default
False
--color

When to use colors (default: auto)

Default
auto
Choices
auto, always, never

Usage

CodeCommit does not require a target argument. Use --region and --profile to select the AWS environment:

$ vcspull import codecommit \
    --workspace ~/code/ \
    --region us-east-1 \
    --profile work

Authentication

  • Auth: AWS CLI credentials (aws configure) — no token env var

  • CLI args: --region, --profile

  • IAM permissions required:

    • codecommit:ListRepositories (resource: *)

    • codecommit:BatchGetRepositories (resource: repo ARNs or *)

  • Dependency: AWS CLI must be installed (pip install awscli)

Configure your AWS credentials:

$ aws configure

Then import:

$ vcspull import codecommit \
    --workspace ~/code/ \
    --region us-east-1