From 00ac580ac89eed7b44ce47b3ae01cd05fe29d447 Mon Sep 17 00:00:00 2001 From: Seongmin Lee Date: Thu, 20 Aug 2026 17:45:35 +0900 Subject: [PATCH] wip: lexicons: git object ref spec fix git.oid vs git.{oid1, oid256} Signed-off-by: Seongmin Lee --- lexicons/org/tangled/embed/commit.json | 2 +- lexicons/org/tangled/git/oid.json | 40 ++++++++++++++++++++++++++ lexicons/org/tangled/git/oid1.json | 18 ++++++++++++ lexicons/org/tangled/git/oid256.json | 18 ++++++++++++ 4 files changed, 77 insertions(+), 1 deletion(-) create mode 100644 lexicons/org/tangled/git/oid.json create mode 100644 lexicons/org/tangled/git/oid1.json create mode 100644 lexicons/org/tangled/git/oid256.json diff --git a/lexicons/org/tangled/embed/commit.json b/lexicons/org/tangled/embed/commit.json index b9184ca4..157edb8b 100644 --- a/lexicons/org/tangled/embed/commit.json +++ b/lexicons/org/tangled/embed/commit.json @@ -10,7 +10,7 @@ ], "properties": { "repo": { "type": "string", "format": "did" }, - "commit": { "type": "ref", "ref": "org.tangled.git.object" } + "commit": { "type": "ref", "ref": "org.tangled.git.oid" } } } } diff --git a/lexicons/org/tangled/git/oid.json b/lexicons/org/tangled/git/oid.json new file mode 100644 index 00000000..6deeaa43 --- /dev/null +++ b/lexicons/org/tangled/git/oid.json @@ -0,0 +1,40 @@ +{ + "lexicon": 1, + "id": "org.tangled.git.oid", + "description": "Git object-id", + "defs": { + "main": { + "type": "object", + "required": ["oid"], + "properties": { + "oid": { + "type": "union", + "closed": true, + "refs": ["#sha1", "#sha256"] + } + } + }, + "sha1": { + "type": "object", + "required": ["hash"], + "properties": { + "hash": { + "type": "string", + "minLength": 40, + "maxLength": 40 + } + } + }, + "sha256": { + "type": "object", + "required": ["hash"], + "properties": { + "hash": { + "type": "string", + "minLength": 64, + "maxLength": 64 + } + } + } + } +} diff --git a/lexicons/org/tangled/git/oid1.json b/lexicons/org/tangled/git/oid1.json new file mode 100644 index 00000000..be0182be --- /dev/null +++ b/lexicons/org/tangled/git/oid1.json @@ -0,0 +1,18 @@ +{ + "lexicon": 1, + "id": "org.tangled.git.oid1", + "description": "Git object-id using SHA-1 hash.", + "defs": { + "main": { + "type": "object", + "required": ["hash"], + "properties": { + "hash": { + "type": "string", + "minLength": 40, + "maxLength": 40 + } + } + } + } +} diff --git a/lexicons/org/tangled/git/oid256.json b/lexicons/org/tangled/git/oid256.json new file mode 100644 index 00000000..0564b499 --- /dev/null +++ b/lexicons/org/tangled/git/oid256.json @@ -0,0 +1,18 @@ +{ + "lexicon": 1, + "id": "org.tangled.git.oid256", + "description": "Git object-id using SHA-256 hash.", + "defs": { + "main": { + "type": "object", + "required": ["hash"], + "properties": { + "hash": { + "type": "string", + "minLength": 64, + "maxLength": 64 + } + } + } + } +} -- 2.51.2