From: Gabriel Scherer <gabriel.scherer@gmail.com>
To: "D. Ben Knoble" <ben.knoble@gmail.com>
Cc: Kristoffer Haugsbakk <kristofferhaugsbakk@fastmail.com>,
Patrick Steinhardt <ps@pks.im>,
Matthieu Moy <git@matthieu-moy.fr>,
git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
Elijah Newren <newren@gmail.com>,
Eric Sunshine <sunshine@sunshineco.com>,
Todd Zullinger <tmz@pobox.com>
Subject: Re: [PATCH v3 10/11] contrib: remove "git-new-workdir"
Date: Fri, 12 Sep 2025 20:55:41 +0200 [thread overview]
Message-ID: <b4628cc8-3aad-4911-bcd1-6880d7707250@gmail.com> (raw)
In-Reply-To: <CALnO6CBDcDEXe3a_mpdwTi7ujL-fU5QrDeK704X+5bbkpNgb5w@mail.gmail.com>
On 12/09/2025 20:14, D. Ben Knoble wrote:
> From a quick glance, the old script symlinks various repository state
> together. You could probably get something equally useful out of
>
> git clone --shared . ../new-worktree
>
> (Provide branch options, etc., as desired?)
Quick testing seems to indicate that --shared shares less than I would
expect / am used to. For example, the remotes are not shared (unlike
with `git worktree` and `new-workdir`).
I currently have 73 remotes configured for the repository I am creating
workdirs for, and I am happy to keep them configured in a single place.
(The fact that the branch state is synchronized between all
workdirs/worktrees is also a feature for my use-case, I don't have to
constantly re-synchronize the work{dirs,trees} for my usage.)
> Alternatively, you could maintain the script yourself by e.g. copying
> it to somewhere on your $PATH or extracting the contrib/workdir
> history into a repo of your choice.
I have a naive question. 'workdir' is a script that has been around for
a long while, and apparently causes no maintenance burden whatsoever. It
was removed based on the impression that nobody was using it (let me
quote the patch description at the end of the present email) -- I
certainly understand that it is hard to gather information about this.
My question: now that it is clear that some people are using it, what is
the reason not to include it again in the contrib/ repository of git
upstream? If Patrick is not interested in reverting this change, would I
be welcome in sending a patch to do so?
I feel like I am making git developers relive the "workflow" xkcd comic
( https://xkcd.com/1172/ ). But I have the impression that 'git
worktree' really has an interface limitation in the way 'checkout' is
restricted; I would be happy to migrate to it if there was a way to
disable this limitation. My use-case is to have several working
directories for a single shared instance of a git directory, in such a
way that I can work in each working directory independently of the
others. In contrast 'worktree' puts limits/constraints, for a given
workdir, depending on the state of the *other* workdirs, which would
force me to have a global map in mind of the state of each workdir.
From: Patrick Steinhardt <ps@pks.im>
> The "git-new-workdir" command has been introduced to make it possible to
> have a separate working directory in a different place. The command thus
> predates git-worktree(1), which is what people use nowadays to create
> any such working directory. As such, the script doesn't really have much
> of a reason to exist nowadays anymore.
>
> It also doesn't seem like the script is still in use: the last time it
> has received an update was in e32afab7b03 (git-new-workdir: don't fail
> if the target directory is empty, 2014-11-26), more than a decade ago.
> Remove it as well as the tests that depend on it.
next prev parent reply other threads:[~2025-09-12 18:55 UTC|newest]
Thread overview: 87+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-06 14:12 [PATCH 00/10] Spring cleanup of "contrib/" Patrick Steinhardt
2025-05-06 14:12 ` [PATCH 01/10] contrib: remove "remotes2config.sh" Patrick Steinhardt
2025-05-06 19:52 ` Junio C Hamano
2025-05-07 6:27 ` Patrick Steinhardt
2025-05-07 17:21 ` Junio C Hamano
2025-05-06 14:12 ` [PATCH 02/10] contrib: remove "examples" directory Patrick Steinhardt
2025-05-06 14:12 ` [PATCH 03/10] contrib: remove remote-helper stubs Patrick Steinhardt
2025-05-06 14:12 ` [PATCH 04/10] contrib: remove "thunderbird-patch-inline" Patrick Steinhardt
2025-05-06 14:12 ` [PATCH 05/10] contrib: remove "hooks" directory Patrick Steinhardt
2025-05-06 14:12 ` [PATCH 06/10] contrib: remove "mw-to-git" Patrick Steinhardt
2025-05-06 20:34 ` Junio C Hamano
2025-05-07 9:11 ` Matthieu Moy
2025-05-06 14:12 ` [PATCH 07/10] contrib: remove "persistent-https" remote helper Patrick Steinhardt
2025-05-06 20:25 ` Junio C Hamano
2025-05-06 14:12 ` [PATCH 08/10] contrib: remove "git-resurrect.sh" Patrick Steinhardt
2025-05-06 20:11 ` Junio C Hamano
2025-05-07 6:58 ` Patrick Steinhardt
2025-05-07 17:48 ` Junio C Hamano
2025-05-07 18:36 ` Kristoffer Haugsbakk
2025-05-06 14:12 ` [PATCH 09/10] contrib: remove "emacs" directory Patrick Steinhardt
2025-05-06 19:59 ` Junio C Hamano
2025-05-06 14:12 ` [PATCH 10/10] contrib: remove "git-new-workdir" Patrick Steinhardt
2025-05-06 19:57 ` Junio C Hamano
2025-05-07 6:27 ` Patrick Steinhardt
2025-05-07 17:25 ` Junio C Hamano
2025-05-09 7:53 ` Patrick Steinhardt
2025-05-06 20:43 ` [PATCH 00/10] Spring cleanup of "contrib/" Junio C Hamano
2025-05-06 22:51 ` Eric Sunshine
2025-05-07 1:32 ` Todd Zullinger
2025-05-07 3:55 ` Eric Sunshine
2025-05-07 6:27 ` Patrick Steinhardt
2025-05-10 20:07 ` D. Ben Knoble
2025-05-12 13:10 ` Phillip Wood
2025-05-09 9:17 ` [PATCH v2 00/11] " Patrick Steinhardt
2025-05-09 9:17 ` [PATCH v2 01/11] contrib: remove "remotes2config.sh" Patrick Steinhardt
2025-05-09 9:17 ` [PATCH v2 02/11] contrib: remove "examples" directory Patrick Steinhardt
2025-05-09 9:17 ` [PATCH v2 03/11] contrib: remove remote-helper stubs Patrick Steinhardt
2025-05-09 9:17 ` [PATCH v2 04/11] contrib: remove "thunderbird-patch-inline" Patrick Steinhardt
2025-05-09 9:17 ` [PATCH v2 05/11] contrib: remove "hooks" directory Patrick Steinhardt
2025-05-09 9:17 ` [PATCH v2 06/11] contrib: remove "mw-to-git" Patrick Steinhardt
2025-05-09 9:17 ` [PATCH v2 07/11] contrib: remove "persistent-https" remote helper Patrick Steinhardt
2025-05-09 9:17 ` [PATCH v2 08/11] contrib: remove "git-resurrect.sh" Patrick Steinhardt
2025-05-09 9:17 ` [PATCH v2 09/11] contrib: remove "emacs" directory Patrick Steinhardt
2025-05-09 9:17 ` [PATCH v2 10/11] contrib: remove "git-new-workdir" Patrick Steinhardt
2025-05-09 9:17 ` [PATCH v2 11/11] contrib: remove "stats" directory Patrick Steinhardt
2025-05-09 23:31 ` Elijah Newren
2025-05-09 23:53 ` [PATCH v2 00/11] Spring cleanup of "contrib/" Elijah Newren
2025-05-10 0:00 ` Junio C Hamano
2025-05-12 9:39 ` Patrick Steinhardt
2025-05-12 4:05 ` [PATCH v2 04/11] contrib: remove "thunderbird-patch-inline" Collin Funk
2025-05-12 13:02 ` Phillip Wood
2025-05-12 14:45 ` Patrick Steinhardt
2025-05-12 16:22 ` Junio C Hamano
2025-05-14 15:19 ` Phillip Wood
2025-05-16 13:53 ` [PATCH v2] contrib: update thunderbird-patch-inline Phillip Wood
2025-05-16 14:05 ` Kristoffer Haugsbakk
2025-05-19 5:38 ` Patrick Steinhardt
2025-05-19 5:50 ` Collin Funk
2025-05-19 14:21 ` Phillip Wood
2025-06-03 22:12 ` Junio C Hamano
2025-05-19 15:48 ` Junio C Hamano
2025-05-10 12:30 ` [PATCH 00/10] Spring cleanup of "contrib/" Peter Krefting
2025-05-12 9:19 ` [PATCH v3 00/11] " Patrick Steinhardt
2025-05-12 9:19 ` [PATCH v3 01/11] contrib: remove "remotes2config.sh" Patrick Steinhardt
2025-05-12 9:19 ` [PATCH v3 02/11] contrib: remove "examples" directory Patrick Steinhardt
2025-05-12 9:19 ` [PATCH v3 03/11] contrib: remove remote-helper stubs Patrick Steinhardt
2025-05-12 9:19 ` [PATCH v3 04/11] contrib: remove "thunderbird-patch-inline" Patrick Steinhardt
2025-05-16 22:49 ` Junio C Hamano
2025-05-26 8:47 ` Toon Claes
2025-06-04 14:45 ` Junio C Hamano
2025-05-12 9:19 ` [PATCH v3 05/11] contrib: remove "hooks" directory Patrick Steinhardt
2025-05-12 9:19 ` [PATCH v3 06/11] contrib: remove "mw-to-git" Patrick Steinhardt
2025-05-12 9:19 ` [PATCH v3 07/11] contrib: remove "persistent-https" remote helper Patrick Steinhardt
2025-05-12 9:19 ` [PATCH v3 08/11] contrib: remove "git-resurrect.sh" Patrick Steinhardt
2025-05-12 9:19 ` [PATCH v3 09/11] contrib: remove "emacs" directory Patrick Steinhardt
2025-05-12 9:20 ` [PATCH v3 10/11] contrib: remove "git-new-workdir" Patrick Steinhardt
2025-09-08 9:28 ` Gabriel Scherer
2025-09-08 9:58 ` Kristoffer Haugsbakk
2025-09-08 15:22 ` Gabriel Scherer
2025-09-12 18:14 ` D. Ben Knoble
2025-09-12 18:55 ` Gabriel Scherer [this message]
2025-09-12 22:21 ` Junio C Hamano
2025-09-12 20:05 ` Phillip Wood
2025-09-12 22:19 ` Junio C Hamano
2025-09-08 18:43 ` Junio C Hamano
2025-05-12 9:20 ` [PATCH v3 11/11] contrib: remove some scripts in "stats" directory Patrick Steinhardt
2025-05-13 2:53 ` [PATCH v3 00/11] Spring cleanup of "contrib/" Elijah Newren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b4628cc8-3aad-4911-bcd1-6880d7707250@gmail.com \
--to=gabriel.scherer@gmail.com \
--cc=ben.knoble@gmail.com \
--cc=git@matthieu-moy.fr \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=kristofferhaugsbakk@fastmail.com \
--cc=newren@gmail.com \
--cc=ps@pks.im \
--cc=sunshine@sunshineco.com \
--cc=tmz@pobox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).