分布式版本控制系统中无可争议的时间戳

问题描述 投票:0回答:2

似乎最流行的版本控制系统(例如Git等)允许修改存储库历史记录-这反过来意味着可以很容易地伪造提交/修订的日期。如果有人想回顾一下托管在GitHub上的项目的开发过程,则不会保证所有信息都是真实的。

日期的准确性(以及作者的身份)对于第三方的版权保护和追溯性验证至关重要,因此我一直在想:为使您的代码的在线可用性正确打上时间戳,通常的做法是什么?为了进行类比,Youtube不允许用户更改上传视频的日期,因此很显然可以看到哪个视频是原始,因为潜在的伪造必须直接来自Youtube的开发团队,这种可能性极小,而且很阴谋。

分布式版本系统中是否有任何变通办法来实现这一目标?如果不是,是否有任何在线代码存储区,其中提交日期不可修改,或者存储了内容的上传日期并可供显示?

谢谢您的时间,

VA

git version-control timestamp versioning
2个回答
0
投票
  1. 如果您想使用DVCS而不重写(公共)历史记录-请使用this DVCS(Mercurial),而不是Git)>
  2. 提交日期在任何情况下都不是受信任的数据,您必须依赖变更集的哈希值(并且可能会演唱all
  3. 提交)

0
投票

这与历史记录重写无关,任何人都可以在他们管理的任何系统上伪造时间戳记。如果您确实需要不可伪造的时间戳,则应将数字时间戳服务的输出放入您的提交消息中,设置起来非常容易,将git write-tree的输出馈送到时间戳api,等待结果,将其放入消息中。

© www.soinside.com 2019 - 2024. All rights reserved.