git in itself is a state chain. every commit id is a hash of all previous changes. that way you can be certain you aren't missing any data.
I thought the hard part was identifying who the authoriative maintainers are fpr a repository if they change overtime, such as bitcoin-core. I proposed https://github.com/DanConwayDev/ngit-cli/tree/v0.0.2 which uses OpenTimestamps.
Someone then pointed out that you can embed this information right into the commit history and contributors will 'build on top of' whichever history they don't object to. Overtime the longest chain (of quality commits, by contributors we trust), will determine the authorative maintainers.
This is what ngit optionally does when you run `ngit init`.