Hi Simon,
first of all sorry for this, this commit was from me and it shouldn't have ever made it to Guix as my key file was wrongly added in keyring branch and Guix couldn't authenticate it. Simon Josefsson via "Development of GNU Guix and the GNU System distribution." <[email protected]> writes: > Hi! My guix mirror stopped updating: > > https://gitlab.com/debdistutils/guix/mirror/-/commits/master?ref_type=HEADS > > I understand force pushing is sometimes needed, but is there any policy > on this for Guix? I am also not sure if there is a policy on this, but if there isn't, I think it should be fairly easy to agree on a specific one as it seems to me there is just one reason for a force push. And that is when the new commit prevents users from `guix pull`ing. Then it has to be removed. And in other cases if its effect is undesirable, it can be reverted. Force pushing in other cases is undesirable because users could've already `guix pull`ed to the commit and then next `guix pull` will end up with an error message telling them that they're trying to downgrade. > > I suppose I'll just force-push to (hopefully) intended commit from > codeberg and things will be alright again, but I worry if this is a > common pattern that there ought to be some policy around. How are you managing this mirror? Git already has a facility for properly managing mirrors. Specifically, the repo is cloned with `git clone --mirror`, then for updates `git remote update` and for updating the mirror, `git push --mirror <url of the mirror>`. This way all refs are updated, it does a force push of every ref so that the mirror is the same as upstream, no matter what happens to it, be it force pushes, removals of refs, additions of refs etc. Rutherther > > /Simon
