Skip to content

overlane claim conflicts

Check two branch heads for a merge conflict with git merge-tree, before either pull request merges

Updated View as MarkdownOpen in ChatGPTOpen in Claude

Runs git merge-tree --write-tree between two commits in this checkout, which merges them in memory and touches neither branch nor the working tree, and records the result so claim readiness can use it. With –all it checks every pair of open branches that has no check for its current heads. Exit 5 when a conflict is found. Needs git 2.38 or later; both commits must be present locally (fetch first).

Usage

overlane claim conflicts [--a REF] [--b REF] [--all] [--no-record] [--dry-run]

Flags

Flag Type Required Default Description
--a string no First branch, tag or commit
--b string no Second branch, tag or commit
--all boolean no Check every open pair that has no check for its current heads
--no-record boolean no Print the result without recording it (works offline)
--dry-run boolean no Print the requests and file changes this command would make, then stop. Needs no credentials.

Examples

overlane claim conflicts --a feat/billing --b feat/review
overlane claim conflicts --all

Behavior

  • Effect: write (changes local or hosted state).
  • Needs credentials: no. Uses the network: no.
  • Supports --dry-run: yes. Accepts --force: no.
  • Machine-readable description: overlane schema claim conflicts.

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": {
        "checks": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "a": {
                "type": "object",
                "properties": {
                  "ref": {
                    "type": "string"
                  },
                  "sha": {
                    "type": "string"
                  }
                },
                "required": [
                  "ref",
                  "sha"
                ],
                "additionalProperties": false
              },
              "b": {
                "type": "object",
                "properties": {
                  "ref": {
                    "type": "string"
                  },
                  "sha": {
                    "type": "string"
                  }
                },
                "required": [
                  "ref",
                  "sha"
                ],
                "additionalProperties": false
              },
              "result": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "enum": [
                      "clean",
                      "conflict",
                      "error"
                    ]
                  },
                  "treeOid": {
                    "type": "string",
                    "pattern": "^[0-9a-f]{40,64}$"
                  },
                  "files": {
                    "maxItems": 500,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "path": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 1000
                        },
                        "kind": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 80
                        }
                      },
                      "required": [
                        "path",
                        "kind"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "message": {
                    "type": "string",
                    "maxLength": 1000
                  }
                },
                "required": [
                  "status",
                  "files"
                ],
                "additionalProperties": false
              },
              "recorded": {
                "type": "boolean"
              }
            },
            "required": [
              "a",
              "b",
              "result",
              "recorded"
            ],
            "additionalProperties": false
          }
        },
        "conflicts": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "errors": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        }
      },
      "required": [
        "checks",
        "conflicts",
        "errors"
      ],
      "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.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close

Overlane Agent

Ask about the docs. Answers are quoted from the pages, with links. This panel cannot change anything.

    Questions are answered in your browser from the docs index. Nothing you type here is stored or sent anywhere.