{
"$type": "com.atproto.lexicon.schema",
"defs": {
"byteChanges": {
"properties": {
"lhs": {
"minimum": 0,
"type": "integer"
},
"rhs": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"lhs",
"rhs"
],
"type": "object"
},
"commit": {
"properties": {
"author": {
"ref": "#signature",
"type": "ref"
},
"committer": {
"ref": "#signature",
"type": "ref"
},
"hash": {
"description": "Commit Object ID",
"type": "string"
},
"message": {
"type": "string"
},
"tree": {
"description": "Tree Object ID",
"type": "string"
}
},
"required": [
"hash",
"author",
"committer",
"message",
"tree"
],
"type": "object"
},
"diffHunk": {
"properties": {
"lines": {
"items": {
"ref": "#linePair",
"type": "ref"
},
"type": "array"
},
"novelLhs": {
"description": "0-based line numbers holding novel content on the left side",
"items": {
"minimum": 0,
"type": "integer"
},
"type": "array"
},
"novelRhs": {
"description": "0-based line numbers holding novel content on the right side",
"items": {
"minimum": 0,
"type": "integer"
},
"type": "array"
}
},
"required": [
"novelLhs",
"novelRhs",
"lines"
],
"type": "object"
},
"diffSrc": {
"description": "One side of a file diff.",
"properties": {
"content": {
"description": "Inlined content. Used on interdiff's LHS.",
"type": "string"
},
"isBinary": {
"type": "boolean"
},
"isSubmodule": {
"type": "boolean"
},
"oid": {
"description": "Blob oid, or the commit oid for a submodule",
"type": "string"
},
"path": {
"type": "string"
},
"size": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"path",
"oid",
"size",
"isBinary",
"isSubmodule"
],
"type": "object"
},
"diffStat": {
"properties": {
"deletions": {
"minimum": 0,
"type": "integer"
},
"filesChanged": {
"minimum": 0,
"type": "integer"
},
"insertions": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"insertions",
"deletions",
"filesChanged"
],
"type": "object"
},
"fileDiff": {
"properties": {
"hasByteChanges": {
"description": "Byte count per side, present only when the two sides differ",
"ref": "#byteChanges",
"type": "ref"
},
"hasSyntacticChanges": {
"type": "boolean"
},
"hunks": {
"items": {
"ref": "#diffHunk",
"type": "ref"
},
"type": "array"
},
"lhsSrc": {
"ref": "#diffSrc",
"type": "ref"
},
"rhsSrc": {
"ref": "#diffSrc",
"type": "ref"
}
},
"required": [
"lhsSrc",
"rhsSrc",
"hunks",
"hasSyntacticChanges"
],
"type": "object"
},
"linePair": {
"description": "One aligned line pair; a side is absent when that side has no line.",
"properties": {
"lhs": {
"minimum": 0,
"type": "integer"
},
"rhs": {
"minimum": 0,
"type": "integer"
}
},
"type": "object"
},
"signature": {
"properties": {
"email": {
"description": "Person email",
"type": "string"
},
"name": {
"description": "Person name",
"type": "string"
},
"when": {
"description": "Timestamp of the signature",
"format": "datetime",
"type": "string"
}
},
"required": [
"name",
"email",
"when"
],
"type": "object"
},
"submodule": {
"properties": {
"branch": {
"description": "Branch to track in the submodule",
"type": "string"
},
"name": {
"description": "Submodule name",
"type": "string"
},
"url": {
"description": "Submodule repository URL",
"type": "string"
}
},
"required": [
"name",
"url"
],
"type": "object"
}
},
"id": "org.tangled.git.defs",
"lexicon": 1
}