Brings new commits, branches and tags from GitHub into the mirror. A rewritten branch marks the commits it dropped, the code index and the evidence recorded for those commits stale. Refused when Overlane is the writable side, because it would overwrite pushes made here.
Usage
overlane repo sync repo [--dry-run]Arguments
| Argument | Required | Description |
|---|---|---|
repo |
yes | The repository name or ID |
Flags
| Flag | Type | Required | Default | Description |
|---|---|---|---|---|
--dry-run |
boolean | no | Print the requests and file changes this command would make, then stop. Needs no credentials. |
Examples
overlane repo sync app
overlane repo sync app --dry-runBehavior
- Effect:
write(changes local or hosted state). - Needs credentials: yes. Uses the network: yes.
- Supports
--dry-run: yes. Accepts--force: no. - Machine-readable description:
overlane schema repo sync.
Result
With --json (the default when stdout is not a terminal) the command prints this JSON Schema’s shape on stdout.
{
"anyOf": [
{
"type": "object",
"properties": {
"tenantId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
"description": "tenant identifier"
},
"repo": {
"type": "object",
"properties": {
"schemaVersion": {
"type": "string",
"const": "1"
},
"tenantId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
"description": "tenant identifier"
},
"projectId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
"description": "project identifier"
},
"repoId": {
"type": "string",
"pattern": "^repo_[A-Za-z0-9]{6,40}$"
},
"name": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9._-]{0,62}$"
},
"provider": {
"type": "string",
"enum": [
"overlane",
"github",
"gitlab"
]
},
"mode": {
"type": "string",
"enum": [
"native",
"github-only"
]
},
"defaultBranch": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"pattern": "^[A-Za-z0-9._/-]+$"
},
"sizeBytes": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"capBytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"remote": {
"type": "string",
"maxLength": 500
},
"mirror": {
"anyOf": [
{
"type": "object",
"properties": {
"external": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"github",
"gitlab"
]
},
"owner": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": [
"provider",
"owner",
"name"
],
"additionalProperties": false
},
"writableSide": {
"type": "string",
"enum": [
"overlane",
"external"
]
},
"lastSyncedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
{
"type": "null"
}
]
},
"lastSyncedSha": {
"anyOf": [
{
"type": "string",
"pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$"
},
{
"type": "null"
}
]
}
},
"required": [
"external",
"writableSide",
"lastSyncedAt",
"lastSyncedSha"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"createdBy": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"user",
"agent"
]
},
"id": {
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"kind",
"id"
],
"additionalProperties": false
},
"createdAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"deletedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
{
"type": "null"
}
]
}
},
"required": [
"schemaVersion",
"tenantId",
"projectId",
"repoId",
"name",
"provider",
"mode",
"defaultBranch",
"sizeBytes",
"capBytes",
"remote",
"mirror",
"createdBy",
"createdAt",
"deletedAt"
],
"additionalProperties": false
},
"applied": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"staleShas": {
"type": "array",
"items": {
"type": "string",
"pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$"
}
},
"refused": {
"type": [
"string",
"null"
]
}
},
"required": [
"tenantId",
"repo",
"applied",
"staleShas",
"refused"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"dryRun": {
"type": "boolean",
"const": true
},
"service": {
"type": "string"
},
"requests": {
"type": "array",
"items": {
"type": "object",
"properties": {
"method": {
"type": "string"
},
"path": {
"type": "string"
},
"body": {},
"note": {
"type": "string"
}
},
"required": [
"method",
"path"
],
"additionalProperties": false
}
},
"commands": {
"type": "array",
"items": {
"type": "string"
}
},
"writes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"write",
"append",
"delete"
]
},
"description": {
"type": "string"
}
},
"required": [
"path",
"action",
"description"
],
"additionalProperties": false
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"dryRun",
"requests",
"commands",
"writes",
"notes"
],
"additionalProperties": false
}
]
}See exit codes for the status the process returns.