After running into test hangs with devel/jujutsu, I found that that came
with git 2.54 and then bisected the issue to to commit dd3693e. It turns
out that upstream reverted this fix since there were problems with mksh
(a fork of our pdksh):

https://github.com/git/git/commit/8b44deebaf02246b40c267c06bf0c74ef71df292

This might well explain why other OS haven't run into this.

(This is unrelated to the got issue naddy found with git 2.54,
https://marc.gameoftrees.org/mail/1778459401.3079_0.html)

Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/git/Makefile,v
diff -u -p -r1.296 Makefile
--- Makefile    6 May 2026 21:56:08 -0000       1.296
+++ Makefile    15 May 2026 09:13:43 -0000
@@ -5,6 +5,7 @@ COMMENT-x11 =   graphical tools
 V =            2.54.0
 DISTNAME =     git-${V}
 CATEGORIES =   devel
+REVISION =     0
 
 HOMEPAGE =     https://git-scm.com/
 
Index: patches/patch-connect_c
===================================================================
RCS file: patches/patch-connect_c
diff -N patches/patch-connect_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-connect_c     15 May 2026 09:13:43 -0000
@@ -0,0 +1,23 @@
+https://github.com/git/git/commit/8b44deebaf02246b40c267c06bf0c74ef71df292
+
+Index: connect.c
+--- connect.c.orig
++++ connect.c
+@@ -1054,8 +1054,6 @@ static struct child_process *git_proxy_connect(int fd[
+       strvec_push(&proxy->args, port);
+       proxy->in = -1;
+       proxy->out = -1;
+-      proxy->clean_on_exit = 1;
+-      proxy->wait_after_clean = 1;
+       if (start_command(proxy))
+               die(_("cannot start proxy %s"), git_proxy_command);
+       fd[0] = proxy->out; /* read from proxy stdout */
+@@ -1517,8 +1515,6 @@ struct child_process *git_connect(int fd[2], const cha
+               }
+               strvec_push(&conn->args, cmd.buf);
+ 
+-              conn->clean_on_exit = 1;
+-              conn->wait_after_clean = 1;
+               if (start_command(conn))
+                       die(_("unable to fork"));
+ 
Index: patches/patch-transport-helper_c
===================================================================
RCS file: patches/patch-transport-helper_c
diff -N patches/patch-transport-helper_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-transport-helper_c    15 May 2026 09:13:43 -0000
@@ -0,0 +1,14 @@
+https://github.com/git/git/commit/8b44deebaf02246b40c267c06bf0c74ef71df292
+
+Index: transport-helper.c
+--- transport-helper.c.orig
++++ transport-helper.c
+@@ -154,8 +154,6 @@ static struct child_process *get_helper(struct transpo
+ 
+       helper->trace2_child_class = helper->args.v[0]; /* "remote-<name>" */
+ 
+-      helper->clean_on_exit = 1;
+-      helper->wait_after_clean = 1;
+       code = start_command(helper);
+       if (code < 0 && errno == ENOENT)
+               die(_("unable to find remote helper for '%s'"), data->name);

Reply via email to