Skip to content

Remind contributors to select the correct branch for PRs #424

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

Closed
wants to merge 1 commit into from

Conversation

seisman
Copy link
Member

@seisman seisman commented May 7, 2020

Description of proposed changes

New features should be merged into master branch, and bug fixes for 0.1.0 should be merged into 0.1 branch.

We also need to discuss how to merge bugfix commits into master branch, just like what we already did in the GMT main repository (GenericMappingTools/gmt#1032).

@seisman seisman requested review from leouieda and weiji14 May 7, 2020 20:09
Copy link
Member

@weiji14 weiji14 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The cherry-pick technique in GenericMappingTools/gmt#1032 is definitely the way to go. I wonder though if we should do 'forwardporting' (i.e. commit on 0.1, cherry-pick to master) or 'backporting' (i.e. commit on 'master', cherry-pick to 0.1). Either way we'll still need to open a PR to make sure the CI passes on the 0.1 or master branch before merging.

@seisman
Copy link
Member Author

seisman commented May 7, 2020

The cherry-pick technique in GenericMappingTools/gmt#1032 is definitely the way to go.

cherry-pick gives a cleaner commit history. My only concern is that it's really easy to forget to do the cherry-pick.

@weiji14
Copy link
Member

weiji14 commented May 7, 2020

My only concern is that it's really easy to forget to do the cherry-pick.

Ok, I've ticked the 'require linear history' setting for the 'master' branch. That should keep things clean by preventing merge commits (i.e. only cherry-picks/squash merges allowed).

Require linear history setting

@seisman
Copy link
Member Author

seisman commented May 7, 2020

My only concern is that it's really easy to forget to do the cherry-pick.

Ok, I've ticked the 'require linear history' setting for the 'master' branch. That should keep things clean by preventing merge commits (i.e. only cherry-picks/squash merges allowed).

Require linear history setting

That's not exactly my point. For example, if a bug-fix PR is merged into branch 0.1, we should cherry-pick it into the master branch. However, we may forget to cherry-pick it, then the bug will be fixed in 0.1.1 release, but not in the 0.2.0 release.

I'm not sure if we have a mechanism to make sure we never forget to cherry-pick a commit/PR.

@weiji14
Copy link
Member

weiji14 commented May 7, 2020

Ah ok. That was why I thought about the backporting route (i.e. commit to master and then cherry-pick to 0.1). That way everything will definitely go into v0.2.0.

There's actually a lot of CLI tools to do this, and I'm just looking up on Github bots that can automate this sort of workflow. See e.g. discussion at python/core-workflow#8, and an example of a bot at https://github.com/python/miss-islington.

@leouieda
Copy link
Member

leouieda commented May 8, 2020

@seisman @weiji14 not sure I see a need to keep things separate at this time. We're not at a stable point and there is no promise of backward compatibility. Keeping separate branches creates more maintenance overhead for little gain right now.

I would go for merging everything into master. Then when a release comes we can think if we need to do 0.2.0 or 0.1.x depending on what was merged.

@leouieda
Copy link
Member

leouieda commented May 8, 2020

And we definitely will break compatibility. The current design is flaky and will not work in the long term. It suffers from the same limitations as GMT (difficult to maintain, hard to find documentation, cryptic syntax) and we can surely do better.

@seisman seisman changed the base branch from 0.1 to master May 12, 2020 02:39
@seisman
Copy link
Member Author

seisman commented May 12, 2020

I'm OK with merging everything to master branch.

This PR is no longer needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants