nextstrain / public

repo to house broad planning issues and other cross-repo concerns; see also https://github.com/nextstrain/private
0 stars 0 forks source link

Standardize on `main` as default branch name #8

Open genehack opened 6 months ago

genehack commented 6 months ago

todo

has issue created

master renamed to main

ivan-aksamentov commented 5 months ago

Is this a proposal or is decision has already been made?

genehack commented 5 months ago

Is this a proposal or is decision has already been made?

It was discussed — I'm sorry, I'm not finding the conversation, but there was a consensus that it was time to start rolling this out.

ivan-aksamentov commented 5 months ago

I see. I guess I am late to the party then. But just want to say that I am strongly against.

Regarding specifically Nextclade and Nextclade Data, they rely on GitOps heavily (docs) and this rename might require changes to the underlying infra (including domain names and SSL certs). Nothing impossible, but is likely more time-consuming than for most repos.

genehack commented 5 months ago

I see. I guess I am late to the party then. But just want to say that I am strongly against.

Could you explain why?

Regarding specifically Nextclade and Nextclade Data, they rely on GitOps heavily (docs) and this rename might require changes to the underlying infra (including domain names and SSL certs). Nothing impossible, but is likely more time-consuming than for most repos.

Thanks for surfacing this; this type of thing is why I've been creating individual issues in each repo, so that such additional work can be identified and tracked.

ivan-aksamentov commented 5 months ago

Could you explain why?

Many things, but on top of my head:

I am not touching political side of things, but I can think of a couple of reasons too. Was it significant in decision-making here?

genehack commented 5 months ago
* if it's working don't fix it. It's been 3-4 years and we are doing okay

Okay.

* a lot of work without advancing science or technology further

In many cases it is an absolutely trivial change. Again, the reason for issues in every repo is so, in the cases where it is not trivial, or even in cases where the decision is ultimately made to not change, there will be documentation of what needs to change, or why the change was deemed not useful.

* 'standartization' might be defined too vague here: master branch in Nextclade does not have the same meaning as in ncov and both are different from nextstrain.org. Different project requirements might require different branching strategies.

This is not about branching strategies; it is about the name of the default branch.

I am not touching political side of things, but I can think of a couple of reasons too. Was it significant in decision-making here?

I'm not sure what you about "political side".

As a new person joining the organization, having some of the repos have a default branch of main while others have master causes extra coginive load. When I raised the issue of why we weren't consistent, and why we hadn't aligned with what git itself defaults to these days, the outcome of the ensuing conversation was this issue.

victorlin commented 1 week ago

I noticed that after https://github.com/nextstrain/zika-tutorial-nextflow/issues/6, the repo's main page showed a tooltip about default branch name change.

Not that this reduces any work that would need to be done, but it was nice to see.

image

victorlin commented 1 week ago

Much of the work involved here will be removing/replacing hardcoded references to master. There are a few options here (HEAD, @, -) discussed in various places (https://github.com/nextstrain/pathogen-repo-guide/pull/41#discussion_r1603727877 https://github.com/nextstrain/auspice/pull/1660#discussion_r1155025654) which might be worth reiterating here. When choosing, these are the differences:

genehack commented 1 week ago

Much of the work involved here will be removing/replacing hardcoded references to master. There are a few options here (HEAD, @, -) discussed in various places (nextstrain/pathogen-repo-guide#41 (comment) nextstrain/auspice#1660 (comment)) which might be worth reiterating here. When choosing, these are the differences:

* `-` redirects to the default branch and seems to only work for certain endpoints.

* `HEAD` and `@` preserve the URL and show the latest commit on the default branch in the GitHub branch/tag selector. These work for more endpoints than `-`.

I used @ for the above reasons, and picked it over HEAD to avoid any confusion with other places HEAD might get used in a Git context.