I would like to create a reliable path for software development. This means that each change in the code must be signed by the author and one reviewer before accepting them. These change signatures must be verifiable at the time of release, or there must be some other means of ensuring that the repository cannot be tampered with or added additional changes.
The version control system I expect to use for this is git, but other options are also accepted. Signing can be done through GnuPG or SSL Certificates.
The workflow that I think of would be something like this:
- The currently verified trunk is forked.
- Changes are developed in the industry by one or more developers.
- One or more developers sign the changes made by the branch
- Feedback checks and verifies changes.
- Reviewer signs changes made by branch
- The branch is merged into the current verified trunk
The merger should not be impeccable, for example, that it was not considered that the changes should have been uncontrollable for the trunk - this is before release, there should be a way to check if there are any unconfirmed (unsigned) changes in the trunk. And in general, interference should not be prevented, only detected.
I would like to give a brief guide on setting up and setting up each operation. As soon as I get a few pointers, I can figure out the features myself.
Also, I already know the technical information about git tag -s ", but I'm not sure how to apply it to this particular problem.
git version-control gnupg digital-signature
Nakedible
source share