With #9 (closed) we got cloning/mirroring between gitolite and gitlab. Ignoring #36 (moved) for now, it seems we have a problem with using protected branches. Specifically, we configured protected branches for '*' and disable merging via the web interface, and 'Maintainers' are allowed push access. This seemed like it was close enough to what we wanted, however we now have another problem.
remote: remote: GitLab: You can only delete protected branches using the web interface. remote: To dip.torproject.org:tpo/applications/tor-browser-buildremote: ! [remote rejected] 20254-update-marsigning-check-sh-to-cope-with-signed-os-x-mar-files (pre-receive hook declined)remote: ! [remote rejected] maint-9.5 -> maint-9.5 (pre-receive hook declined)remote: ! [remote rejected] refs/merge-requests/2/head (pre-receive hook declined)remote: ! [remote rejected] refs/merge-requests/3/head (pre-receive hook declined)remote: ! [remote rejected] refs/merge-requests/3/merge (pre-receive hook declined)
Specifically, the description of Protected Branches includes:
prevent anyone from deleting the branch
prevent anyone from force pushing to the branch
I guess we need a different approach.
Edited
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
With #9 (closed) we got cloning/mirroring between gitolite and gitlab. Ignoring #36 (moved) for now, it seems we have a problem with using protected branches. Specifically, we configured protected branches for '*' and disable merging via the web interface, and 'Maintainers' are allowed push access. This seemed like it was close enough to what we wanted, however we now have another problem.
`
remote: remote: GitLab: You can only delete protected branches using the web interface.
I wonder what was supposed to get deleted here. Given that the only
thing that was about to happen was the creation of maint-9.5 on
Gitlab. Hrm. How did you push to git.tpo?
Hrm. Weird. How did you actually solve the issue given that there is no
a maint-9.5 branch on Gitlab which is up-to-date.?
`
Specifically, the description of Protected Branches includes:
prevent anyone from deleting the branch
prevent anyone from force pushing to the branch
I guess we need a different approach.
Not sure yet because I think we actually want to have those properties
:). I guess you hit
"When a protected branch or wildcard protected branches are set to
No one is Allowed to push, Developers (and users with higher permission
levels) are allowed to create a new protected branch as long as they are
Allowed to merge."
(see:https://gitlab.torproject.org/help/user/project/protected_branches)
? Which does not explain the "you can only delete protected branches
part" but would make sense for issues with creating maint-9.5. I'd find
it not too much hassle to flip the switch for "Allowed to merge" in case
we need to create a new branch and set it back afterwards.
I think maybe I need some help here from @hiro where we look at how the Git to Gitlab sync hooks works on Gitolite.
I think the sync scripts does something that ensures that anything in the destination is cleaned up, so maybe it does something that is considered a deletion.
With #9 (closed) we got cloning/mirroring between gitolite and gitlab. Ignoring #36 (moved) for now, it seems we have a problem with using protected branches. Specifically, we configured protected branches for '*' and disable merging via the web interface, and 'Maintainers' are allowed push access. This seemed like it was close enough to what we wanted, however we now have another problem.
`
remote: remote: GitLab: You can only delete protected branches using the web interface.
I wonder what was supposed to get deleted here. Given that the only
thing that was about to happen was the creation of maint-9.5 on
Gitlab. Hrm. How did you push to git.tpo?
Still not knowing what exactly happened I guess the "Deletes source
branch" option was selected and that's not allowed due to protected
branches. Thus, the error showed up. I guess we could easily work around
that issue by not ticking that option.
With #9 (closed) we got cloning/mirroring between gitolite and gitlab. Ignoring #36 (moved) for now, it seems we have a problem with using protected branches. Specifically, we configured protected branches for '*' and disable merging via the web interface, and 'Maintainers' are allowed push access. This seemed like it was close enough to what we wanted, however we now have another problem.
`
remote: remote: GitLab: You can only delete protected branches using the web interface.
I wonder what was supposed to get deleted here. Given that the only
thing that was about to happen was the creation of maint-9.5 on
Gitlab. Hrm. How did you push to git.tpo?
Still not knowing what exactly happened I guess the "Deletes source
branch" option was selected and that's not allowed due to protected
branches. Thus, the error showed up. I guess we could easily work around
that issue by not ticking that option.
After thinking a bit more: it should not be an issue with protected
branches as the source branches are in the user repository. And I assume
the policy regarding those branches is not as restrictive as it is in
our non-user repositories. So, a new theory would be that maybe the
torproject-pusher is just not allowed to mess with user repositories?
I just tried pushing to tpo/applications/tor-browser-build and I received:
remote: == gitlab-push == remote: remote: GitLab: You are not allowed to push code to protected branches on this project. remote: To dip.torproject.org:tpo/applications/tor-browser-buildremote: ! [remote rejected] master -> master (pre-receive hook declined)remote: error: failed to push some refs to 'dip.torproject.org:tpo/applications/tor-browser-build'remote: == irc-message ==
Also, I don't know how to login using @sysrqb-owner and look at the settings
Hey sorry to be annoying, but is there a way to reset our mirror of https://gitlab.torproject.org/cohosh/snowflake-webext/ to temporarily resolve the issue in #67 (closed) if this will take a while to solve more generally? It is becomming difficult for reviewers to tell which commits belong to the merge request and which are because the mirror is outdated.