Friday, May 15, 2026

devel/git: revert bad zombie prevention commit in 2.54

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);

No comments:

Post a Comment