[GRASS-dev] Switching default branch for grass-addons to grass7

Vaclav Petras wenzeslaus at gmail.com
Sun Jul 4 12:49:47 PDT 2021


The default branch was switched from master to grass7. The modules are now
under a directory called src (renamed from master).

I added the changes from the master branch to grass7 branch which were
added to the master branch since creation of the grass7 branch. There were
4 commits on the master branch. One was already added to the grass7 branch.
I added the other three. The commits cherry-picked to the grass7 branch
were:

https://github.com/OSGeo/grass-addons/commit/e557981d326371eb022c41d8e3067c8d3a30731f
https://github.com/OSGeo/grass-addons/commit/4d72dba4d324f2ad6cb071a286849b6896f2714e
https://github.com/OSGeo/grass-addons/commit/d2e153cd5cac1e37dcf5860455b7a587368a6338

If you are in doubt about what is on the branch, see:

https://github.com/OSGeo/grass-addons/commits/grass7

The master branch in grass-addons is now officially read-only. There is no
way on GitHub to set it like that, but perhaps that would be impractical
anyway. Instead, reviews are now required for that branch, so you can't
push to that branch directly and to merge a PR another person needs to
review it first. The grass6 branch is configured in the same way.

Given the need to change a workflow from using the master branch locally, I
decided to add additional branch protection rules for the new grass7
branch. To avoid an accidental commit (push to be exact) to the grass7
branch by people who do have write access, GitHub will now require one of
the checks to pass before merging which in practice means that to make a
change a PR is needed and directly pushing commits to the grass7 branch is
not possible. (The check required to pass is the Black formatting check
because that's an easy pick.)

Not directly related to the changes, but the build and test workflow is
currently disabled by GitHub because GitHub thinks the OSGeo/grass-addons
repo is a fork. I could enable it manually, but instead, I contacted GitHub
support in order to resolve the situation correctly.

Plan for the master branch of the grass core repo and v8: Use the grass7
branch of the grass-addons repo as in v7 and close to 8.0.0 release, create
grass8 branch and start using that one.

See my previous email in this thread (below) for anticipated issues and
further actions needed.

Best,
Vaclav



On Wed, Jun 30, 2021 at 7:33 PM Vaclav Petras <wenzeslaus at gmail.com> wrote:

> Dear all,
>
> The grass7 branch is ready to be used as the default branch for the
> grass-addons repo instead of the master branch. (It will later be replaced
> by a future grass8 branch in being the default one.)
>
> This is based on several previous discussions on GitHub, by PSC, and here.
> See #528 and #571 for more info.
>
> https://github.com/OSGeo/grass-addons/issues/528
> https://github.com/OSGeo/grass-addons/pull/571
>
> I can change the default branch in the following days. At the same time, I
> will also do the catch up in commits needed due to new commits being added
> to the master branch (and missing in the grass7 branch).
>
> Further actions needed after the switch:
>
> 1) Addon contributors and maintainers, check what is the base branch for
> your PRs and change it to grass7. The master branch will become read-only
> and the changes there won't get into addons for v8. You can do this anytime.
>
> 2) Check g.extension in GRASS versions you need supported. Submit fixes
> and workarounds if needed.
>
> 3) For new contributions (branches), fetch new branches from upstream
> (that is the OSGeo repo) and create your new branches from the grass7
> branch instead of the master branch. From now on, keep updating the grass7
> branch from upsteam, not the master branch. If in doubt, put all your work
> elsewhere, double check you did, delete your local clone and your fork, and
> start over.
>
> 4) Update contributing guides to reflect the changes.
>
> Anticipated adverse effects:
>
> 1) Git is good at detecting simple file moves and merging those
> automatically, but few touches may be needed. What will be needed is to
> merge with the grass7 branch locally as GitHub usually does not allow for
> this merge in the web interface.
>
> 2) This changes both the default branch and the directory structure.
> Workflows and code relying on the default branch will break and will need
> to be fixed to either use the legacy master branch or switch to the grass7
> branch.
>
> Let me know if you have any questions or concerns.
>
> Best,
> Vaclav
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20210704/c0a7de70/attachment.html>


More information about the grass-dev mailing list