-
Notifications
You must be signed in to change notification settings - Fork 33
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
Consider using Squash & Merge, at least sometimes #686
Comments
I like the idea of defaulting to merge, with squashing as an option. It leaves the discretion to the person merging, but without changing our existing process too much. If you're unsure, don't want to make a decision, or just forget, then merge as at present. Otherwise you can choose to squash. |
Yeah, I've been thinking about writing some more things like this down based on recent discussions around unclear expectations. I feel like we already have this, but without it being written down, everyone is left to their own wonderings about "is this okay?" even when the answer is always "yes." I want to say "yes, it's fine, I won't tell folks what to do, but here's a way to think about it, if it helps." |
I love this comment @minrk and think it is a good approach. Tbh, I think a great place to start would be to just write down any/all processes we follow ad hoc now and get them on the team compass. And then we can iterate with issues/PRs to improve/adapt/clarify as needed and on whatever timescale suits us. |
Proposed change
Consider using Squash & Merge to avoid conversations about rebase, etc.
In general, I prefer merge commits for PRs. But what I don't like are conversations about 'cleaning up the history', especially as a hurdle for new contributors. Like autoformatting, while I like the result of squash & merge less than merge most of the time, I very much like that a whole category of not-especially-useful conversation can be eliminated and the trade off is often worth it.
Alternative options
Current policy: ~always merge commit. Rebase / squash PRs that get out of hand before merging. Squash & merge available, but not discussed as an official option.
Advantages of always merge:
git log --merges
always lists all pull requestsgit bisect
, etc. isolate smaller changesDisadvantages of always merge:
Advantages of always squash:
Not-quite-disadvantages of squash:
Advantages of squash as an option, but merge as default (or vice versa):
Disadvantages of multiple options:
Who would use this feature?
JupyterHub maintainers, PR contributors to a lesser extent
The text was updated successfully, but these errors were encountered: