[gdpr-discuss] Git and the Right for Rectification

Peter Stuge peter at stuge.se
Sat May 26 10:43:23 BST 2018


Thorsten Behrens wrote:
> > Git is unchangeable because:
> > - Code integrity can only be guaranteed when all commits are
> >   traceable activities like rebasing result in untraceable code
> >   changes and endanger the security model behind open source
> >   software.
>
> Amend:
>  - for repositories where cryptographically signing tags (or even
>    commits) is the rule, git is by design unchangeable

All signed commits can be replaced with other, newly signed commits.

But then either all previous signers must re-sign the new versions of
all their old commits which follow the first replaced commit, or their
original signature and the original parent id is stored in a new field
in the new commit, then an automated system can re-sign that.

I agree with you about tags though:

Changing tags goes directly against the design of git, goes against
the intent of projects using git for version control, and hinders
traceability of the original tag and/or released version of the work.

Branches are by design temporary references to some commit, but tags
are very much intended to be permanent references to some commit
(and by extension also all commits before).

It is of course technically possible to change tags, but tags are not
expected to change. Changing a tag creates a ripple effect just like
changing a commit does. Not only the already-published tag becomes
invalid, but also any use of that tag, most significantly also
outside of the project.


//Peter



More information about the gdpr-discuss mailing list