{
"$schema": "https://lix.dev/schema-v1.json",
"key": "lix_commit_edge",
"description": "Direct parent relationship between two commits. Merge commits have one row per parent. The first parent is useful for showing mainline history or comparing a merge commit against the commit that was checked out before the merge.",
"columns": [
{
"name": "child_id",
"type": "uuid",
"nullable": false,
"description": "Identifier of the child commit."
},
{
"name": "parent_id",
"type": "uuid",
"nullable": false,
"description": "Identifier of the parent commit."
},
{
"name": "parent_order",
"type": "int8",
"nullable": false,
"description": "Zero-based position of this parent in the child commit's ordered parent list. The first parent has order 0; additional merge parents have order 1, 2, and so on.",
"examples": [
0,
1
]
}
],
"primary_key": [
"child_id",
"parent_order"
],
"unique": [
[
"parent_id",
"child_id"
]
],
"foreign_keys": [
{
"columns": [
"parent_id"
],
"references": {
"schema_key": "lix_commit",
"columns": [
"id"
]
}
},
{
"columns": [
"child_id"
],
"references": {
"schema_key": "lix_commit",
"columns": [
"id"
]
}
}
],
"examples": [
{
"child_id": "commit-merge",
"parent_id": "commit-main",
"parent_order": 0
},
{
"child_id": "commit-merge",
"parent_id": "commit-feature",
"parent_order": 1
}
]
}