kernelci / kernelci/kcidb-io

schema: Add explicit revision ID

Open
#80 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.