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
Change non-inclusive naming #2674
Comments
Thanks for opening this issue! I've already started on some of the necessary work at https://github.com/DEGoodmanWilson/git but not all the unit tests are passing. Would love some help! (For reference: https://twitter.com/DEGoodmanWilson/status/1269931737515282438) |
@DEGoodmanWilson thank you for your work! Apart from the technical side, I think this will require a good deal of gentle communication on the Git mailing list, to convince especially the maintainer (but really, all the core contributors, on whose opinions the maintainer relies a fair bit) not only that this is something they will want to change, but also that they can change it. I do have a slightly personal preference for the name |
@DEGoodmanWilson I cherry-picked your change, changed the Note that we'll have to address the "whitelist/blacklist" issue, too. So far, it seems that not too many tests are failing:
|
Got t1400 addressed. |
I too was thinking about the issues raised in that post. I'd also thought "Do the 'origin' and 'master' names also cause problems because they are replicated so often?" I'm thinking of the confusion say between upstream Git, and Git for Windows, both having a 'master' branch, so a user/dev following both will have difficulty if they try to have a 'master' branch that follows both. In that sense we should be advising everyone that having local 'master' branch is just as harmful as having too many 'goto's was in the past. It took me a long while to realise that I should not even have a master branch, because I was not holding an authoritative copy of either Git or Git for Windows, rather I should always be starting new branches for working on issues from the respective I also try not to use I'm cautious about totally dropping the term 'master' because it does have its place when covering the idea of having mastery over a technique (e.g. those considered great painters). It should not be used as a method of denigration. I am supportive helping users generate their own names for the upstream repository (rather than the dull, boring and uninformative Should Git for Windows have a 'master' branch, or should it be renamed? If so, to what? |
At this point, I don't think it matters what the intention behind the word is. It incites emotional distress. So we should move away from it.
I thought I had already answered at least the first question: yes, it will be renamed. For the second question, I already put my vote in the hat: |
@DEGoodmanWilson I force-pushed my branch with the fixes I came up with. It should pass the test suite now, although I still have to address a SHA-256 issue. |
Having seen a number of cycles of these issues go by, we also need to look behind the issue at the processes and system, and change those as well. Banning words doesn't, of itself, solve the problem. We also need to address the things (process & system) that reinforce the misuse. That includes the little things within the git processes.
I had been thinking that |
@PhilipOakley I'm not aiming for perfect and complete. My aim is to get this started, with a reasonable name for starters. With that patch in hand, we can go to the Git mailing list and start some bike-shedding. Having said that, I am pretty certain that |
I had actually started with "default", and was told it might be triggering for folks in financial trouble? I don't actually have an opinion myself. As for "trunk"—that's the part of the tree that holds the branches 😄 |
I didn't think of that "default" meaning... In any case, I think that the name needs to be decided on the Git mailing list (or in a virtual summit between the core Git contributors). I'm willing to collect suggestions over here. |
Hi @dscho, I'm happy with It's just that For the However, that does create a difference in naming between the default branch name, and that of any upstream reference branch, made worse for users by the GitHub fork duplication process. I was mainly pointing out the naming issues at the cloning/forking/fetching level, and hence the implicit issues in users setting up their refspecs etc. Does that help clarify anything? |
One of the things I wanted to experiment with in my branch was not hard coding the default, but letting it be a configuration option. This might be a good stepping stone in an iterative approach, and also allow people to use the terms best suited for their communities. It’s more work of course, but hardly beyond our skills. |
I actually went searching for this, but did not find anything in the docs. In addition, having a |
|
It is indeed meant to be release-ready at all times. However, actual releases are typically built from PR branches (most recently,
That sounds like a good idea. In practice, I found a couple tests that require reordering lines so that the branch names are ordered alphabetically, which will be made quite a bit harder if we allow for arbitrary default branch names to be configured.
@DEGoodmanWilson yes, I think what @derrickstolee wanted to suggest is to introduce that environment variable, imitating other Having said that, given the complications with the practical aspects of implementing such a thing, I am unsure whether it is worth it, especially if the Git mailing list likely wants to pick a new, still hard-coded name. |
It's actually even worse: some tests verify output that is aligned, and changes with the name of the longest shown branch name... |
I don't mean that the test suite should be resilient to any value of When the patches are done, then we can change the hard-coded value and delete the Step 1: Create |
@derrickstolee ah, that's a clever plan. FWIW I managed to fix all remaining test failures in my Having said that, I now have second thoughts about using the name |
Didn't one of you called it the users main branch? Why not calling so? Main
or usermain?
…On Mon, Jun 8, 2020, 6:32 PM Johannes Schindelin ***@***.***> wrote:
@derrickstolee <https://github.com/derrickstolee> ah, that's a clever
plan.
FWIW I managed to fix all remaining test failures in my inclusive-naming
branch: https://github.com/dscho/git/actions/runs/129071782
Having said that, I now have second thoughts about using the name default,
leaning more towards main. Thoughts?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#2674 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABZH5SAJ24ANNYXV7MIJDNLRVVRIFANCNFSM4NYII56A>
.
|
Personal preference for |
I was pointed to this StackOverflow answer that uses the templates to rename the default branch on the client side, by the way. |
There is a lot of bike-shedding over what the default branch name should be. And existing projects have their own standards. I take this as a good reason to implement setting the default branch name as a config option, something I've been working on this morning. Nothing to share yet, because I'm still trying to understand how the git config system generates default values for un-configured options. Then we can just use "main" or whatever, and let folks who want to use something else on future projects set a config option. The templatedir trick is a neat hack, but still far too complex for most folks I believe. |
Yes, even the thread on the Git mailing list I mentioned above suggests My current plan is to solicit a bit more feedback on the Git and Git for Windows mailing lists, whether there are strong objections (with convincing reasons) against renaming to
Sure, that works, brian pointed that out in the reply to above-mentioned thread. It is a bit cumbersome, though, and it adds the confusing "re-initializing" message.
Yes, there is. I do hope, though, that we can settle on a reasonable name in a reasonable time frame as far as Git for Windows is concerned, and then (re-)start the conversation on the Git mailing list to change the default within Git itself.
I guess you managed to convince me. The really neat part is that this ties nicely in with @derrickstolee's suggestion to adjust the test suite one by one. The config option and
@DEGoodmanWilson Oh, please do share a WIP, I am likely to be able to assist. FWIW I do hang out in https://gitter.im/git-for-windows/git if you want to chat. |
FWIW I plan on tagging git/git@master...dscho:inclusive-naming (so that we have it for future reference) and then re-working it to rename the default branch to Just to have something in hand when calling a Virtual Git Contributor Summit for Inclusive Naming. |
Seems that other thought leaders agree with this, e.g. https://www.hanselman.com/blog/EasilyRenameYourGitDefaultBranchFromMasterToMain.aspx |
@dscho I've got a working MVP here: https://github.com/DEGoodmanWilson/git/tree/default-branch-name-option No tests, or docs, or checks that this doesn't break anything. Also, I am a little lost on the string pointer ownership conventions in git, so I know I've got a memory safety issue as well (which I've tagged with a comment, |
@DEGoodmanWilson thanks for the MVP. I added some comments to the commit DEGoodmanWilson@d2a68b0. You will also need to update the commit message to be more in-line with Git community guidelines. See https://github.com/git-for-windows/git/blob/master/CONTRIBUTING.md#polish-your-commits for more information here. |
For the record, I talked @DEGoodmanWilson into opening a PR at gitgitgadget#653 and I commented liberally. This is pretty exciting for me. I care deeply about helping Git become more inclusive, and I am delighted to see so much support. |
For the record, I tagged yesterday's work of mine to rename the default branch name to Now I'm off trying to edit the patches to use |
A thread on the Git mailing list made the cautious attempt at bringing this issue to attention: enough names in Git are non-inclusive to cause unintended consequences. Most prominently, the default name of the default branch.
I create this ticket to track the progress of fixing this.
While I want to fix it rather sooner than later, I want to abide by the saying "If you want to go fast, go alone, if you want to go far, go together". I want to go far on this.
Any constructive comments are welcome!
The text was updated successfully, but these errors were encountered: