Remote, read-only provider
Connect VCSAdmin Git
Browse and synchronize one VCSAdmin Git repository through API v1 without a clone, mirror, checkout, temporary directory, or local Git command.
Connect the repository
- Enable VcsadminGit in Redmine's repository settings.
- Open the target project's repository settings.
- Enter the complete repository-detail URL ending in
/api/v1/scm/repositories/ID. - Enter the VCSAdmin Basic Authentication username and password.
- Test the connection, then create the Redmine repository registration.
SCM Creator extracts the stable numeric repository ID, stores the normalized API base URL, and validates the identified repository directly. The repository name is display metadata; the numeric ID remains the mapping key.

Set conservative client limits
The shared vcsadmin_git section in config/scm.yml controls timeouts and bounded synchronization. Start with the shipped defaults, then change them only after comparing the Redmine error with the matching VCSAdmin API request.
production:
vcsadmin_git:
open_timeout: 5
read_timeout: 20
page_size: 25
sync_batch_size: 25
initial_import_batch_size: 50
max_pages_per_sync: 3
max_response_bytes: 6291456
max_file_bytes: 1048576
retry_count: 1
verify_tls: true
Keep verify_tls: true in production. If an internal certificate is not trusted, install the correct CA certificate for the Redmine service instead of disabling verification. Restart all Redmine processes after changing this file.
Synchronization status
Redmine imports default-branch changesets in bounded, cursor-persisted batches. A database lock prevents overlapping synchronization. The repository settings show the current phase, last successful run, remote head and most recent error.
Verify the synchronized repository
After a successful synchronization, open the project Repository tab and confirm that the expected repository, branch, revision and latest changesets are available. The repository URL in the example is intentionally obscured.

Interpret synchronization failures
401 / 403
Credentials are invalid or the API user lacks access.
Action: Retest Basic Authentication and the repository permission in VCSAdmin.
404
The URL, API version or numeric repository ID does not identify an accessible repository.
Action: Copy the complete API v1 repository-detail URL again.
413 commit_too_large
The commit contains more changed files than VCSAdmin permits for one API response.
Action: Use the request ID to confirm the limit in VCSAdmin. Raise scmApi.maxChangedFiles only after reviewing memory and response-size impact; the commit is not silently skipped.
TLS error
The certificate cannot be validated by the Redmine host.
Action: Install the correct CA chain and keep TLS verification enabled.
Timeout or response limit
The API did not respond within the client budget or returned too much data.
Action: Check VCSAdmin performance first, then adjust the narrowest applicable timeout or size limit.
Version 2.3.5 logs the sanitized remote repository display name together with the Redmine repository ID, stable remote repository ID, status, error code and request ID. This makes repeated scheduler failures attributable without exposing the API password.
Supported and unsupported operations
Available
- Tree, history and text-file browsing
- Branches, tags, commits and unified diffs
- Bounded default-branch changeset import
Not available
- Write operations or repository administration
- Blame, archives or repository statistics
- Binary download or arbitrary comparisons
For lock, migration and repeated-error checks, use the VCSAdmin troubleshooting checklist.