-
Notifications
You must be signed in to change notification settings - Fork 349
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FR: Add support for marking a branch or multiple commits immutable #1431
Comments
Can you summarize that Discord discussion? I skimmed it, but I'm not sure what you want to define the release branches for. There was some discussion about having a configurable set of branches or a configurable revset in order to prevent accidental rewriting. Is that what you want? #1415 will involve defining a main branch. |
release
or backport
I've updated the feature request with a summary. |
Thanks, and thanks for updating the title too. This could be done either like Mercurial's phases or as a configurable revset. Phases are exchanged between remotes on push/pull and always move forward, IIRC. Phases imply a shared view of which commits are immutable. Some considerations:
I'm not sure which is better, but I think we should remove the |
I was about to close this as completed by #2297 because that seemed like the essence of this FR. I was going to instead open a new FR for the support for globbing in revsets, but I think that's also done (#2407) :) |
Basically these points are still unadressed:
But I can open another FR for each of them. |
Feel free. I do think they seem quite loosely related to the main feature in this FR, so I prefer to keep them separate. I found it misleading that canonical FR for adding support for immutable commits was still open. |
|
This is a feature request which stems from the conversation which started here in Discord.
Summary:
We discussed the issue of having a release branch in which all history should be immutable, as only cherry-picks can be added. This could be done via static configuration in the repository, which imposes some kind of merging mechanism for configuration, as there may be multiple remotes with different immutable branches. Or having a per user revset which determines when a revision is immutable.
Related work for this feature are Sapling's Phases and Mercurial's Phases.
Additionally a revset to determine the main branch in the repository and a configuration based revset to determine what an release branch is, would be nice.
A suggestion was adding some kind of globbing mechanism e.g
glob(release/*)
or some kind of template likerelease(2022-21-1)
.The text was updated successfully, but these errors were encountered: