pytest-dev / pytest

The pytest framework makes it easy to write small tests, yet scales to support complex functional testing
https://pytest.org
MIT License
12.09k stars 2.68k forks source link

evaluate a new primary branch name to replace master #7344

Closed RonnyPfannschmidt closed 4 years ago

RonnyPfannschmidt commented 4 years ago

In light of the #BLM movement i bumped into https://twitter.com/mislav/status/1270388510684598272?s=19

As master in git appears to be inheritance from bitkeeper master/slave i think it's warranted that the complete pytest-dev org takes a bit of time to set up a new best practice

Cc @pytest-dev/core

Zac-HD commented 4 years ago

I'm +0 on changing our default branch, because there's a lot of tooling and many tutorials that assume the default branch name is master. So while it would definitely be good for some, it would also make life a bit more difficult for new contributors.

On the other hand, there are still places where slave appears in Pytest and some of our first-party plugins; and that seems a lot worse to me - and has fewer downsides to fixing it. So my proposal is to:

RonnyPfannschmidt commented 4 years ago

@zac-hd thanks for the input

I like your proposal to immediately sort the details in our own code and deferring the git setup until a broad consensus emerged from the broader community

The-Compiler commented 4 years ago

-1, for various reasons:

I do believe language is important and shapes reality - but I see it as a trade-off between benefits and drawbacks. Does saying "Hey everyone" instead of "Hey guys" change things for the better with no drawbacks? Absolutely, that's why I always try to do so (and point it out to people, if needed). Here, I doubt there's anyone affected (i.e. non-white) who would actually have a problem with that term (though I'd be happy to change my mind if someone steps up), yet it causes a lot of unnecessary frictions for contributors and developers.

asottile commented 4 years ago

If we had a branch or tech named "slave" I'd be 100% for switching off of that terminology (for example https://github.com/pytest-dev/pytest-xdist/pull/268), though I'm not convinced that "master" on its own is insensitive and should warrant a change. I also echo @The-Compiler's reasoning for tooling breakages -- this'll cause significant pain for all of the workflows that I use right now which make assumptions about the primary branch being master. Then again, I don't feel like I'm the right person to be making a decision here.

nicoddemus commented 4 years ago

I agree with @The-Compiler, @asottile and @Zac-HD on all fronts mentioned.

RonnyPfannschmidt commented 4 years ago

i'm happy with all the input, i think as overall approach we should primarily concern ourselves with removing "slave" from our code

as for renaming branches we can reevaluate that if the rest of the opensource world develops some consensus on what to do and how to migrate,

The-Compiler commented 4 years ago

That should probably be a separate issue then, though?

RonnyPfannschmidt commented 4 years ago

Yes, I'll create issues as appropriate this evening or tommorow

symonk commented 4 years ago

Hi @RonnyPfannschmidt happy to help if you want to share a compiled list of areas that could use some changes

Zac-HD commented 4 years ago

@symonk - https://github.com/search?q=user%3Apytest-dev+slave&type=Code has some results - when I have a few hours my plan is to clone one of the plugin repos, git grep slave, and either delete each instance or replace it with worker (as we did in pytest-xdist several years ago).

Where it's already deprecated in favor of worker, as in pytest-xdist, IMO this is a good time to finish that process by removing the compatibility attributes.

I also want to be careful about drafting the changelogs, so that we clearly express (a) our support for diversity, (b) that this is not a new move for our project - rather finishing a years-long process, and (c) exactly what the technical impact will be (hopefully very small).

RonnyPfannschmidt commented 4 years ago

I'd be delighted to see that come down, im currently with family and might not get to it until the weekend

symonk commented 4 years ago

I guess this is quite problematic in the sense that some references are function args, any downstream code calling such functions by keyword= would break (in the instance of pytest-services from the link above); so possibility for quite a few 'breaking' changes by the time its all refactored. Will try do an indepth search and see how it looks

RonnyPfannschmidt commented 4 years ago

@symonk indeed, a first step is to triage the occurrences into trivial, needing some work and needing a migration+break later

Zac-HD commented 4 years ago

I think we have consensus against changing our default branch name at this time, and for removing "slave" references from our actual code.

I therefore suggest that we close this issue in favor of https://github.com/pytest-dev/pytest-xdist/pull/541, which is tracking all the plugin changes - at this point the patches have all been written, it's just a matter of merging them and releasing the corresponding new versions!

RonnyPfannschmidt commented 4 years ago

thanks, closing this one as sorted

i suspect we will revisit the main branch name in near future as there seems to be a emerging consensus of the branch name main i plan to touch this after reviewing some early adopters/migrators