mbox series

[v2,0/5] Inclusive naming, part II

Message ID pull.734.v2.git.1600725687.gitgitgadget@gmail.com (mailing list archive)
Headers show
Series Inclusive naming, part II | expand

Message

Philippe Blain via GitGitGadget Sept. 21, 2020, 10:01 p.m. UTC
This patch series represents the logical next step on the journey begun with
introducing init.defaultBranch: in these patches, we avoid a couple
unnecessary mentions of the branch name "master".

This patch series does not try to change the default branch name, although I
have that patch series ready to go. You can see the overall idea here: 
https://github.com/gitgitgadget/git/pull/655. Concretely, I plan on
submitting three more patch series after this one:

 1. a relatively small patch series to avoid using the branch name main in
    the test suite. This is necessary because my plan is to change the
    default branch name to that name, therefore it cannot be used as the
    name of a topic branch any longer.
 2. a relatively large patch series (currently consisting of 18 patches) to
    change the default branch name to main. Most of the patches provide
    non-trivial (read: non-scriptable) adjustments to the test suite in an
    incremental fashion, with a big patch toward the end that reflects a
    fully-automated search-and-replace of all the trivial cases.
 3. a very small patch series with fall-out patches that are not necessary
    to pass the test suite, but are still required to complete the rename
    (adjusted code comment, file rename).

(Note: I am still debating whether I should move one or two patches from the
second to the third patch series)

Changes since v1:

 * Instead of using the name primary for the adjustments to 
   t/test-terminal.perl, we follow Python's lead (which uses the
   parent/child nomenclature).
 * The changes to t3200 no longer use variations of the name main as branch
   names; Instead, the renamed branches are independent from any current or
   future default branch name.

Johannes Schindelin (5):
  fast-export: avoid using unnecessary language in a code comment
  t/test-terminal: avoid non-inclusive language
  t3200: avoid variations of the `master` branch name
  tests: avoid variations of the `master` branch name
  t9902: avoid using the branch name `master`

 builtin/fast-export.c        |  2 +-
 t/t3200-branch.sh            | 34 ++++++++++++++---------------
 t/t3427-rebase-subtree.sh    | 42 ++++++++++++++++++------------------
 t/t4150-am.sh                |  8 +++----
 t/t5515-fetch-merge-logic.sh |  6 +++---
 t/t5523-push-upstream.sh     | 20 ++++++++---------
 t/t6018-rev-list-glob.sh     |  6 +++---
 t/t6040-tracking-info.sh     | 20 ++++++++---------
 t/t6409-merge-subtree.sh     | 14 ++++++------
 t/t9902-completion.sh        | 10 ++++-----
 t/test-terminal.perl         | 32 +++++++++++++--------------
 11 files changed, 97 insertions(+), 97 deletions(-)


base-commit: 54e85e7af1ac9e9a92888060d6811ae767fea1bc
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-734%2Fdscho%2Favoid-unnecessary-branch-name-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-734/dscho/avoid-unnecessary-branch-name-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/734

Range-diff vs v1:

 1:  587ddca42a = 1:  587ddca42a fast-export: avoid using unnecessary language in a code comment
 2:  3b4ae48d4a ! 2:  80e1d46cce t/test-terminal: avoid non-inclusive language
     @@ Commit message
          least we can get rid of the usage of the word `master` and hope that
          IO::Pty will be eventually adjusted, too.
      
     +    Guessing that IO::Pty might follow Python's lead, we replace the name
     +    `master` by `parent` (hoping that IO::Pty will adopt the parent/child
     +    nomenclature, too).
     +
          Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
      
       ## t/test-terminal.perl ##
     @@ t/test-terminal.perl: sub copy_stdio {
      -close $master_err->slave;
      -my $in_pid = copy_stdin($master_in);
      -copy_stdio($master_out, $master_err);
     -+my $primary_in = new IO::Pty;
     -+my $primary_out = new IO::Pty;
     -+my $primary_err = new IO::Pty;
     -+$primary_in->set_raw();
     -+$primary_out->set_raw();
     -+$primary_err->set_raw();
     -+$primary_in->slave->set_raw();
     -+$primary_out->slave->set_raw();
     -+$primary_err->slave->set_raw();
     -+my $pid = start_child(\@ARGV, $primary_in->slave, $primary_out->slave, $primary_err->slave);
     -+close $primary_in->slave;
     -+close $primary_out->slave;
     -+close $primary_err->slave;
     -+my $in_pid = copy_stdin($primary_in);
     -+copy_stdio($primary_out, $primary_err);
     ++my $parent_in = new IO::Pty;
     ++my $parent_out = new IO::Pty;
     ++my $parent_err = new IO::Pty;
     ++$parent_in->set_raw();
     ++$parent_out->set_raw();
     ++$parent_err->set_raw();
     ++$parent_in->slave->set_raw();
     ++$parent_out->slave->set_raw();
     ++$parent_err->slave->set_raw();
     ++my $pid = start_child(\@ARGV, $parent_in->slave, $parent_out->slave, $parent_err->slave);
     ++close $parent_in->slave;
     ++close $parent_out->slave;
     ++close $parent_err->slave;
     ++my $in_pid = copy_stdin($parent_in);
     ++copy_stdio($parent_out, $parent_err);
       my $ret = finish_child($pid);
       # If the child process terminates before our copy_stdin() process is able to
      -# write all of its data to $master_in, the copy_stdin() process could stall.
     -+# write all of its data to $primary_in, the copy_stdin() process could stall.
     ++# write all of its data to $parent_in, the copy_stdin() process could stall.
       # Send SIGTERM to it to ensure it terminates.
       kill 'TERM', $in_pid;
       finish_child($in_pid);
 3:  2f1d0a2df4 ! 3:  8d8e9abfe2 t3200: avoid variations of the `master` branch name
     @@ Commit message
          The `t3200-branch.sh` script uses variations of this name for branches
          other than the default one. So let's change those names, as
          "lowest-hanging fruits" in the effort to use more inclusive naming
     -    throughout Git's source code.
     +    throughout Git's source code. While at it, make those branch names
     +    independent from the default branch name.
      
     -    In this particular instance, this requires a couple of non-trivial
     -    adjustments, as the aligned output depends on the maximum length of the
     -    displayed branches (which we now changed), and also on the alphabetical
     -    order (which we now changed, too).
     +    In this particular instance, this rename requires a couple of
     +    non-trivial adjustments, as the aligned output depends on the maximum
     +    length of the displayed branches (which we now changed), and also on the
     +    alphabetical order (which we now changed, too).
      
          Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
      
     @@ t/t3200-branch.sh: test_expect_success 'git branch -M master master should work
       '
       
      -test_expect_success 'git branch -M master2 master2 should work when master is checked out' '
     -+test_expect_success 'git branch -M main2 main2 should work when master is checked out' '
     ++test_expect_success 'git branch -M topic topic should work when master is checked out' '
       	git checkout master &&
      -	git branch master2 &&
      -	git branch -M master2 master2
     -+	git branch main2 &&
     -+	git branch -M main2 main2
     ++	git branch topic &&
     ++	git branch -M topic topic
       '
       
       test_expect_success 'git branch -v -d t should work' '
     @@ t/t3200-branch.sh: test_expect_success 'git branch --list -v with --abbrev' '
       	cat >expect <<\EOF &&
      -  a/b/c     bam       foo       l       * master    mb        o/o       q
      -  abc       bar       j/k       m/m       master2   n         o/p       r
     -+  a/b/c    bam      foo      l        main2    mb       o/o      q
     -+  abc      bar      j/k      m/m    * master   n        o/p      r
     ++  a/b/c    bam      foo      l      * master   n        o/p      r
     ++  abc      bar      j/k      m/m      mb       o/o      q        topic
       EOF
       	test_cmp expect actual
       '
      @@ t/t3200-branch.sh: test_expect_success 'git branch --column with an extremely long branch name' '
     -   j/k
         l
         m/m
     -+  main2
       * master
      -  master2
         mb
         n
         o/o
     +   o/p
     +   q
     +   r
     ++  topic
     +   $long
     + EOF
     + 	test_cmp expect actual
      @@ t/t3200-branch.sh: test_expect_success 'git branch with column.*' '
       	git config --unset column.branch &&
       	git config --unset column.ui &&
       	cat >expect <<\EOF &&
      -  a/b/c   bam   foo   l   * master    mb   o/o   q
      -  abc     bar   j/k   m/m   master2   n    o/p   r
     -+  a/b/c   bam   foo   l     main2    mb   o/o   q
     -+  abc     bar   j/k   m/m * master   n    o/p   r
     ++  a/b/c   bam   foo   l   * master   n     o/p   r
     ++  abc     bar   j/k   m/m   mb       o/o   q     topic
       EOF
       	test_cmp expect actual
       '
     @@ t/t3200-branch.sh: test_expect_success 'git branch --column -v should fail' '
       	cat >expect <<\EOF &&
         a/b/c
      @@ t/t3200-branch.sh: test_expect_success 'git branch -v with column.ui ignored' '
     -   j/k
         l
         m/m
     -+  main2
       * master
      -  master2
         mb
         n
         o/o
     +   o/p
     +   q
     +   r
     ++  topic
     + EOF
     + 	test_cmp expect actual
     + '
      @@ t/t3200-branch.sh: test_expect_success 'git branch -C master master should work when master is chec
       	git branch -C master master
       '
     @@ t/t3200-branch.sh: test_expect_success 'deleting a self-referential symref' '
      -	git symbolic-ref refs/heads/master2 refs/heads/master &&
      -	test_must_fail git branch -m master2 master3 &&
      -	git symbolic-ref refs/heads/master2 &&
     -+	git symbolic-ref refs/heads/main2 refs/heads/master &&
     -+	test_must_fail git branch -m main2 main3 &&
     -+	git symbolic-ref refs/heads/main2 &&
     ++	git symbolic-ref refs/heads/topic refs/heads/master &&
     ++	test_must_fail git branch -m topic new-topic &&
     ++	git symbolic-ref refs/heads/topic &&
       	test_path_is_file .git/refs/heads/master &&
      -	test_path_is_missing .git/refs/heads/master3
     -+	test_path_is_missing .git/refs/heads/main3
     ++	test_path_is_missing .git/refs/heads/new-topic
       '
       
       test_expect_success SYMLINKS 'git branch -m u v should fail when the reflog for u is a symlink' '
 4:  a532053e60 = 4:  8f59e19b95 tests: avoid variations of the `master` branch name
 5:  d135a8423b = 5:  c2c1238b5d t9902: avoid using the branch name `master`

Comments

Jeff King Sept. 21, 2020, 10:24 p.m. UTC | #1
On Mon, Sep 21, 2020 at 10:01:21PM +0000, Johannes Schindelin via GitGitGadget wrote:

> Changes since v1:
> 
>  * Instead of using the name primary for the adjustments to 
>    t/test-terminal.perl, we follow Python's lead (which uses the
>    parent/child nomenclature).
>  * The changes to t3200 no longer use variations of the name main as branch
>    names; Instead, the renamed branches are independent from any current or
>    future default branch name.

Thanks, I think that does look nicer. Shouldn't the latter bullet apply
to most of the ones in patch 4, though?

I wonder if they should simply be "s/master/topic/" instead of
"s/master/main".

-Peff
Johannes Schindelin Sept. 26, 2020, 4:29 a.m. UTC | #2
Hi Peff,

On Mon, 21 Sep 2020, Jeff King wrote:

> On Mon, Sep 21, 2020 at 10:01:21PM +0000, Johannes Schindelin via GitGitGadget wrote:
>
> > Changes since v1:
> >
> >  * Instead of using the name primary for the adjustments to
> >    t/test-terminal.perl, we follow Python's lead (which uses the
> >    parent/child nomenclature).
> >  * The changes to t3200 no longer use variations of the name main as branch
> >    names; Instead, the renamed branches are independent from any current or
> >    future default branch name.
>
> Thanks, I think that does look nicer. Shouldn't the latter bullet apply
> to most of the ones in patch 4, though?
>
> I wonder if they should simply be "s/master/topic/" instead of
> "s/master/main".

Yes! I did that in 4/5. In 5/5, we need a branch name that starts with the
same two letters as `maint`, though. I amended the commit message
accordingly.

Thanks,
Dscho
Jeff King Sept. 27, 2020, 8:45 a.m. UTC | #3
On Sat, Sep 26, 2020 at 06:29:50AM +0200, Johannes Schindelin wrote:

> > Thanks, I think that does look nicer. Shouldn't the latter bullet apply
> > to most of the ones in patch 4, though?
> >
> > I wonder if they should simply be "s/master/topic/" instead of
> > "s/master/main".
> 
> Yes! I did that in 4/5. In 5/5, we need a branch name that starts with the
> same two letters as `maint`, though. I amended the commit message
> accordingly.

That makes sense, and your commit message is clear. All of your v3 looks
good to me. Thanks for your patience on these rather tedious changes. :)

-Peff