ioos/compliance-checker

Which is the main development branch in this repository?

mhidas opened this issue · 9 comments

I am a bit confused by the recent PR #1009. It seems to address the same deprecated numpy types that were already fixed in #944.
The only difference is that #944 was merged into the master branch, while #1009 went into develop. The two branches are quite out of sync, with each having commits not present in the other.

Which branch will the next release be made from?

@benjwadams it turns out you did fix that a while ago!

Same issue has bitten me more times than I'd like to admit. Latest one was in #1007.

IMO, at this point, we should just delete master and work on develop only. Ideally we could even rename develop to main and be closer to most projects on GH today. That would reduce merge conflicts, confusions like the above, and would significantly lower the entry barrier for new contributors.

Let me fix the merge issues with master, merge in develop, and then we can use develop branch going forward until we cut a new release. There was some confusion about merging in partial implementations of CF 1.9, and also a lot of the development recently has been dealing with improving CF conformance for existing checkers that should have been present and so for better or worse were merged into master.

PS: is there a way for the repository to set a default merge branch for PRs?

OK, master and develop were merged together and currently have the same pointer. We'll make PRs on develop from now on, possibly will consider locking master against accidental PRs if there's some GitHub feature for that. Please close issue if this now looks good.

@benjwadams if you want to preserve the commits on master we can create a branch based on it named "old_master" and then delete it. That way folks who are following the GH workflow won't be fooled b/c it is not there for them to target the PRs.

Thanks for resolving the confusion. I agree that removing or locking the existing master branch would help remove future confusion, but that's up to you (I'm just an external user of -- and occasional contributor to -- the checker).

@mwengren, could you change the default branch for merges to develop, as documented here: https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/changing-the-default-branch

I don't have the proper permissions to do this on the repo level. By default PRs currently merge to master and it's easy to omit changing to the branch to develop, as I did in some PRs just recently. Also, could you look into protecting master branch?

Default branch has been changed to develop. We might want to also rename the master branch to main, if that's still going to be utilized.

I'd prefer to leave as is for now. Newer projects use main for a default branch, but switching branch names creates opportunities for more clashes with PRs, etc. develop is already set as default PR branch, so merging to the wrong branch is unlikely unless someone manually changes PR branch.

Closing for now, we can discuss further in today's meeting.