From: Eric Sunshine <sunshine@sunshineco.com>
To: Duy Nguyen <pclouds@gmail.com>
Cc: Marketa Calabkova <mcalabkova@suse.cz>, Git List <git@vger.kernel.org>
Subject: Re: Worktree creation race
Date: Fri, 1 Feb 2019 14:54:53 -0500 [thread overview]
Message-ID: <CAPig+cRg5E=_QuUz4j4sGNR=ziHth0Lv7hncm_hvZboBvv+bnQ@mail.gmail.com> (raw)
In-Reply-To: <20190201131659.GA30564@ash>
On Fri, Feb 1, 2019 at 8:17 AM Duy Nguyen <pclouds@gmail.com> wrote:
> I'm not going to bother you with code yet (although if you want, you
> can check out branch worktree-name on my gitlab repo), but this is
> what the user facing changes look like. Looking good?
>
> -- 8< --
> diff --git a/Documentation/git-worktree.txt b/Documentation/git-worktree.txt
> @@ -9,7 +9,7 @@ git-worktree - Manage multiple working trees
> SYNOPSIS
> +'git worktree add' [-f] [--detach] [--checkout] [--lock] [-b <new-branch>] [--name <name>] <path> [<commit-ish>]
> @@ -195,6 +195,13 @@ This can also be set up as the default behaviour by using the
> +--name <name>::
> + Name of the working tree. Each working tree must have a unique
> + name. This is also the directory name containing all working
> + tree's specific information under `$GIT_COMMON_DIR/worktrees`.
> + If `--name` is not given, the name is based on basename(3)
> + optionally with a number suffix to make it unique.
I think the "DETAILS" section also needs to be updated. It presently says:
The private sub-directory’s name is usually the base name of the
linked working tree’s path, possibly appended with a number to
make it unique.
Perhaps amend it to:
...to make it unique, or the name provided by `--name`.
> Porcelain Format
> ~~~~~~~~~~~~~~~~
> The porcelain format has a line per attribute. Attributes are listed with a
> @@ -341,10 +352,12 @@ $ git worktree list --porcelain
> worktree /path/to/bare-source
> bare
>
> +name linked
> worktree /path/to/linked-worktree
> HEAD abcd1234abcd1234abcd1234abcd1234abcd1234
> branch refs/heads/master
>
> +name other
> worktree /path/to/other-linked-worktree
> HEAD 1234abc1234abc1234abc1234abc1234abc1234a
> detached
Unfortunately, this will likely break existing tools. When I had
outlined the proposed porcelain format, my suggestion was that a
"worktree" line would indicate the start of a new stanza (with no
blank line), however, as it eventually got implemented (not by me),
that recommendation wasn't quite followed. Instead, what has been
documented "officially" in the git-worktree man-page is that each
stanza will start with a "worktree" line and that there will be a
blank line between stanzas. So, the new "name" line will need to be
placed somewhere after the "worktree" line in order to avoid tool
breakage.
next prev parent reply other threads:[~2019-02-01 19:57 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-15 14:03 Worktree creation race Marketa Calabkova
2019-01-28 12:58 ` Marketa Calabkova
2019-02-01 6:27 ` Eric Sunshine
2019-02-01 7:06 ` Duy Nguyen
2019-02-01 13:16 ` Duy Nguyen
2019-02-01 19:54 ` Eric Sunshine [this message]
2019-02-01 18:06 ` Junio C Hamano
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='CAPig+cRg5E=_QuUz4j4sGNR=ziHth0Lv7hncm_hvZboBvv+bnQ@mail.gmail.com' \
--to=sunshine@sunshineco.com \
--cc=git@vger.kernel.org \
--cc=mcalabkova@suse.cz \
--cc=pclouds@gmail.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).