On Wed, May 6, 2020 at 2:24 PM Simo Sorce simo@redhat.com wrote:
Well, a way to allow force pushes would be to have a git hook that branches the tree before the force push. (creating a branch named something like audit-force-push-<timestamp>)
In Ceph we do this at a slightly different point of time. We use "rdopkg tag-patches" to save each of the "patches" refs that we've translated into patch series in dist-git. Each Git tag is the NVR of the package.
We rebase and force-push our "patches" branches frequently, so a patches branch is one "history", and dist-git becomes a "history of histories".
It's critical to have this flexibility + auditability so we can move fast and still go back and reproduce everything.
- Ken