git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2] am: counteract gender bias

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Jul 8, 2016, 07:17 UTC
Message-ID
<ceb80e45d1f02b71cc5ad2d7ded04360c530a9a8.1467962234.git.johannes.schindelin@gmx.de>
In-Reply-To
<d54f8f8b32ecc024eb3a58dd42ef9f855f8e2cb9.1467892022.git.johannes.schindelin@gmx.de>

Since d1c5f2a (Add git-am, applymbox replacement., 2005-10-07), i.e. for almost 11 years already, we used a male form to describe "the other tree".

While most likely unintended, this gave the erroneous impression as if the Git developers thought of users as male, and were unaware of the important role in software development played by female actors such as Ada Lovelace, Grace Hopper and Margaret Hamilton. In fact, the first professional software developers were all female.

Let's change those unfortunate references to the gender neutral "their tree".

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
Published-As: https://github.com/dscho/git/releases/tag/gender-bias-v2
 builtin/am.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)
Interdiff vs v1:
 diff --git a/builtin/am.c b/builtin/am.c
 index 2c7f3dd..1f0aa99 100644
 --- a/builtin/am.c
 +++ b/builtin/am.c
 @@ -1584,14 +1584,14 @@ static int build_fake_ancestor(const struct am_state *state, const char *index_f
  }
  
  /**
 - * Do the three-way merge using fake ancestor, her tree constructed
 + * Do the three-way merge using fake ancestor, their tree constructed
   * from the fake ancestor and the postimage of the patch, and our
   * state.
   */
  static int run_fallback_merge_recursive(const struct am_state *state,
  					unsigned char *orig_tree,
  					unsigned char *our_tree,
 -					unsigned char *her_tree)
 +					unsigned char *their_tree)
  {
  	struct child_process cp = CHILD_PROCESS_INIT;
  	int status;
 @@ -1599,7 +1599,7 @@ static int run_fallback_merge_recursive(const struct am_state *state,
  	cp.git_cmd = 1;
  
  	argv_array_pushf(&cp.env_array, "GITHEAD_%s=%.*s",
 -			 sha1_to_hex(her_tree), linelen(state->msg), state->msg);
 +			 sha1_to_hex(their_tree), linelen(state->msg), state->msg);
  	if (state->quiet)
  		argv_array_push(&cp.env_array, "GIT_MERGE_VERBOSITY=0");
  
 @@ -1607,7 +1607,7 @@ static int run_fallback_merge_recursive(const struct am_state *state,
  	argv_array_push(&cp.args, sha1_to_hex(orig_tree));
  	argv_array_push(&cp.args, "--");
  	argv_array_push(&cp.args, sha1_to_hex(our_tree));
 -	argv_array_push(&cp.args, sha1_to_hex(her_tree));
 +	argv_array_push(&cp.args, sha1_to_hex(their_tree));
  
  	status = run_command(&cp) ? (-1) : 0;
  	discard_cache();
 @@ -1620,7 +1620,7 @@ static int run_fallback_merge_recursive(const struct am_state *state,
   */
  static int fall_back_threeway(const struct am_state *state, const char *index_path)
  {
 -	unsigned char orig_tree[GIT_SHA1_RAWSZ], her_tree[GIT_SHA1_RAWSZ],
 +	unsigned char orig_tree[GIT_SHA1_RAWSZ], their_tree[GIT_SHA1_RAWSZ],
  		      our_tree[GIT_SHA1_RAWSZ];
  
  	if (get_sha1("HEAD", our_tree) < 0)
 @@ -1657,7 +1657,7 @@ static int fall_back_threeway(const struct am_state *state, const char *index_pa
  		return error(_("Did you hand edit your patch?\n"
  				"It does not apply to blobs recorded in its index."));
  
 -	if (write_index_as_tree(her_tree, &the_index, index_path, 0, NULL))
 +	if (write_index_as_tree(their_tree, &the_index, index_path, 0, NULL))
  		return error("could not write tree");
  
  	say(state, stdout, _("Falling back to patching base and 3-way merge..."));
 @@ -1667,13 +1667,13 @@ static int fall_back_threeway(const struct am_state *state, const char *index_pa
  
  	/*
  	 * This is not so wrong. Depending on which base we picked, orig_tree
 -	 * may be wildly different from ours, but her_tree has the same set of
 +	 * may be wildly different from ours, but their_tree has the same set of
  	 * wildly different changes in parts the patch did not touch, so
  	 * recursive ends up canceling them, saying that we reverted all those
  	 * changes.
  	 */
  
 -	if (run_fallback_merge_recursive(state, orig_tree, our_tree, her_tree)) {
 +	if (run_fallback_merge_recursive(state, orig_tree, our_tree, their_tree)) {
  		rerere(state->allow_rerere_autoupdate);
  		return error(_("Failed to merge in the changes."));
  	}
diff --git a/builtin/am.c b/builtin/am.c
index d5da5fe..1f0aa99 100644
--- a/builtin/am.c
+++ b/builtin/am.c
@@ -1584,14 +1584,14 @@ static int build_fake_ancestor(const struct am_state *state, const char *index_f
 }
 
 /**
- * Do the three-way merge using fake ancestor, his tree constructed
+ * Do the three-way merge using fake ancestor, their tree constructed
  * from the fake ancestor and the postimage of the patch, and our
  * state.
  */
 static int run_fallback_merge_recursive(const struct am_state *state,
 					unsigned char *orig_tree,
 					unsigned char *our_tree,
-					unsigned char *his_tree)
+					unsigned char *their_tree)
 {
 	struct child_process cp = CHILD_PROCESS_INIT;
 	int status;
@@ -1599,7 +1599,7 @@ static int run_fallback_merge_recursive(const struct am_state *state,
 	cp.git_cmd = 1;
 
 	argv_array_pushf(&cp.env_array, "GITHEAD_%s=%.*s",
-			 sha1_to_hex(his_tree), linelen(state->msg), state->msg);
+			 sha1_to_hex(their_tree), linelen(state->msg), state->msg);
 	if (state->quiet)
 		argv_array_push(&cp.env_array, "GIT_MERGE_VERBOSITY=0");
 
@@ -1607,7 +1607,7 @@ static int run_fallback_merge_recursive(const struct am_state *state,
 	argv_array_push(&cp.args, sha1_to_hex(orig_tree));
 	argv_array_push(&cp.args, "--");
 	argv_array_push(&cp.args, sha1_to_hex(our_tree));
-	argv_array_push(&cp.args, sha1_to_hex(his_tree));
+	argv_array_push(&cp.args, sha1_to_hex(their_tree));
 
 	status = run_command(&cp) ? (-1) : 0;
 	discard_cache();
@@ -1620,7 +1620,7 @@ static int run_fallback_merge_recursive(const struct am_state *state,
  */
 static int fall_back_threeway(const struct am_state *state, const char *index_path)
 {
-	unsigned char orig_tree[GIT_SHA1_RAWSZ], his_tree[GIT_SHA1_RAWSZ],
+	unsigned char orig_tree[GIT_SHA1_RAWSZ], their_tree[GIT_SHA1_RAWSZ],
 		      our_tree[GIT_SHA1_RAWSZ];
 
 	if (get_sha1("HEAD", our_tree) < 0)
@@ -1657,7 +1657,7 @@ static int fall_back_threeway(const struct am_state *state, const char *index_pa
 		return error(_("Did you hand edit your patch?\n"
 				"It does not apply to blobs recorded in its index."));
 
-	if (write_index_as_tree(his_tree, &the_index, index_path, 0, NULL))
+	if (write_index_as_tree(their_tree, &the_index, index_path, 0, NULL))
 		return error("could not write tree");
 
 	say(state, stdout, _("Falling back to patching base and 3-way merge..."));
@@ -1667,13 +1667,13 @@ static int fall_back_threeway(const struct am_state *state, const char *index_pa
 
 	/*
 	 * This is not so wrong. Depending on which base we picked, orig_tree
-	 * may be wildly different from ours, but his_tree has the same set of
+	 * may be wildly different from ours, but their_tree has the same set of
 	 * wildly different changes in parts the patch did not touch, so
 	 * recursive ends up canceling them, saying that we reverted all those
 	 * changes.
 	 */
 
-	if (run_fallback_merge_recursive(state, orig_tree, our_tree, his_tree)) {
+	if (run_fallback_merge_recursive(state, orig_tree, our_tree, their_tree)) {
 		rerere(state->allow_rerere_autoupdate);
 		return error(_("Failed to merge in the changes."));
 	}
-- 
2.9.0.278.g1caae67

base-commit: 5c589a73de4394ad125a4effac227b3aec856fa1
Previous: Johannes SchindelinNext: Jakub Narębski
Message 8 of 10 in “am: counteract gender bias”
  1. am: counteract gender biasJohannes Schindelin, Jul 7, 2016
  2. Mike HommeyJul 7, 2016
  3. Jakub NarębskiJul 7, 2016
  4. Johannes SchindelinJul 7, 2016
  5. Junio C HamanoJul 7, 2016
  6. Johannes SchindelinJul 8, 2016
  7. Johannes SchindelinJul 7, 2016
  8. am: counteract gender biasJohannes Schindelin, Jul 8, 2016
  9. Jakub NarębskiJul 8, 2016
  10. Junio C HamanoJul 8, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.