Splitting this feature off of #2488266: [META] Improve Git workflow on Drupal.org by implementing issue workspaces.

In the long run, someone’s branch will get force-pushed by someone else in a non-constructive way. Either due to misunderstanding what Git will do, or an edit war. When this happens enough to demand a technical solution, we can un-postpone this issue. In the meantime, it is not a blocker to launching forking for issue workspaces.

GitLab may offer some affordances to make this less-necessary, like keeping track of commits “overwritten” by a force push, they aren’t really gone unless they get garbage collected.

Another possibility is that we always want to preserve the history of all issue workspace branches, denying force pushes. If you rebase or rewrite commits, that goes to a fresh branch alongside the old one. That would guarantee all commits are preserved for posterity, and anyone deploying those diffs as patches.

Comments

drumm created an issue. See original summary.

hestenet’s picture

In our current plan, the intention is to deny all force pushes, or at the very least, deny them to everyone except project maintainers.

hestenet’s picture

Issue tags: +mwds2019
drumm’s picture

Status: Postponed » Closed (duplicate)

I think “protected” can mean a few different things in different contexts. #3071662: Decide on, and implement permissions for issue forks & #3071674: Decide on force push rules for issue forks, implement if necessary are enough issues to figure this out.