schema: Add explicit revision ID
- Dominant language
- Python
- Stars
- 2
- Forks
- 13
- PR merge metrics
- No merged PRs in 30d
Description
Right now revisions are identified by two checkout fields: `git_commit_hash` and `patchset_hash`. However, this gets cumbersome once we need to refer to them more often. E.g. like in the [upcoming "transitions"](https://github.com/kernelci/kcidb-io/pull/78).
This will especially be a problem if we ever get a DAG database with revision connectivity information. In the current plans the node key is supposed to be a hash, and we don't have one right now for revisions.
So we need to come up with one. Perhaps we should add another required field to checkouts: `revision_hash` and define it as e.g. a hash over `git_commit_hash` followed by patch file hashes in order of application. Or rather, to be able to migrate the existing data, we might need to do a hash over `git_commit_hash` and `patchset_hash`.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the checkout schema fields git_commit_hash and patchset_hash, then read the linked transitions pull request for how revisions are referenced. Define and validate a revision identifier that supports existing data migration and future DAG connectivity; the issue does not name specific files or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100