git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: <rsbecker@nexbridge.com>
To: "'Jacob Abel'" <jacobabel@nullpo.dev>
Cc: "'Ævar Arnfjörð Bjarmason'" <avarab@gmail.com>,
	"'Eric Sunshine'" <sunshine@sunshineco.com>,
	"'Phillip Wood'" <phillip.wood123@gmail.com>,
	"'Rubén Justo'" <rjusto@gmail.com>,
	"'Taylor Blau'" <me@ttaylorr.com>,
	git@vger.kernel.org
Subject: RE: [PATCH v3 0/2] worktree: Support `--orphan` when creating new worktrees
Date: Thu, 8 Dec 2022 17:00:53 -0500	[thread overview]
Message-ID: <007001d90b50$8ee3c000$acab4000$@nexbridge.com> (raw)
In-Reply-To: <20221208214110.bdu5n65c3fvcxjom@phi>

On December 8, 2022 4:41 PM, Jacob Abel wrote:
>Subject: Re: [PATCH v3 0/2] worktree: Support `--orphan` when creating new
>worktrees
>
>Apologies for the delay on the v4 patch. Some unexpected personal stuff has kept
>me away from working on this. I expect v4 to be out in the next few days.
>
>Additionally, I've been doing some reading after writing this reply [1]. I've realised
>I had a misunderstanding about how HEAD is managed. I don't think it changes the
>conclusion of the reply (which is that rolling `--orphan` into DWYM could lead to
>confusing behavior for users) however I think some additional changes might be
>warranted:
>
>* Add some additional text output to `worktree add` when we DWYM to make it
>  clearer what action we end up making. Could possibly be hidden under a
>  "verbose" flag.
>* Annotate what HEAD we are looking at (worktree HEAD vs git repo HEAD) in
>  conditions where this could matter.
>* Expanding HEAD when it's an invalid ref (instead of just `invalid ref: HEAD`).
>* Add a hint when using `worktree add`, with a bare git repo, HEAD points to an
>  invalid ref, not in a worktree, and other branches exist in the repo. The hint
>  would suggest using `git branch -m <branch>` to change the HEAD to an existing
>  branch.
>* Add a hint when there are no local branches and the user is trying to create a
>  worktree off a local branch which has a remote counterpart.
>
>I don't necessarily think any of these changes should hold up this patchset but I
>think they could be worthwhile changes for the future.
>
>And in the meantime, below are the anticipated changes for the next revision. Let
>me know if it looks like I've forgotten anything.
>
>Anticipated changes from v3:
>  * Fix mistake in SYNOPSIS and `--help`. Patch for this change can be found
>    in [2], by courtesy of Ævar Arnfjörð Bjarmason.
>  * Collapsed sequential if statements into if-else chain & simplified
>    conditions as requested in [2].
>  * Simplified tests for mutually exclusive options and removed duplicate
>    `-B/--detach` test case. Patch for this change can be found in [3],
>    by courtesy of Ævar Arnfjörð Bjarmason.
>  * Remove references to `git-switch`. Behavior is now explained fully in docs
>    instead. Changes to the docs suggested in [4], by courtesy of Eric Sunshine.
>  * Updated test case to use `test_path_is_missing` instead of `! test -d` [5].
>  * Updated signature for `make_worktree_orphan()` and changed
>    `const char *orphan_branch` in `struct add_opts` to `int orphan` (boolean)
>    to simplify the patch and maintain consistency with other flags [6].
>  * Added `advise()` to common cases where `--orphan` is desired [7] to address
>    concerns brought up in [8][9]. Slight change from `HEAD` to `branch` as
>    `HEAD` causes existing behavior to break.
>  * Added tests to verify `--lock` and `--reason` work properly with
>    the newly added `--orphan` flag.
>  * Added tests to verify that the orphan advise [7] is emitted only at the
>    proper times.
>  * Added the new advice to the docs, advice.c/h, and switched to use
>    `advise_if_enabled()` as requested in [10].
>  * Added tests to verify the changes [7] do not interfere with existing
>    behavior. ex: creating a worktree from a remote branch when HEAD is
>    an orphan.
>
>1. https://lore.kernel.org/git/20221123042052.t42jmsqjxgx2k3th@phi/
>2. https://lore.kernel.org/git/221115.86edu3kfqz.gmgdl@evledraar.gmail.com/
>3. https://lore.kernel.org/git/221116.86a64rkdcj.gmgdl@evledraar.gmail.com/
>4.
>https://lore.kernel.org/git/CAPig+cQiyd9yGE_XpPZmzLQnNDMypnrEgkV7nqRZZn
>3j6E0APQ@mail.gmail.com/
>5. https://lore.kernel.org/git/221115.86iljfkjjo.gmgdl@evledraar.gmail.com/
>6. https://lore.kernel.org/git/20221119025701.syuscuoqjuqhqsoz@phi/
>7. https://lore.kernel.org/git/20221119034728.m4kxh4tdpof7us7j@phi/
>8.
>https://lore.kernel.org/git/CAPig+cTTn764ObHJuw8epOtBdTUwocVRV=tLieCa4zf-
>PGCegw@mail.gmail.com/
>9. https://lore.kernel.org/git/221117.86sfihj3mw.gmgdl@evledraar.gmail.com/
>10. https://lore.kernel.org/git/221123.86a64ia6bx.gmgdl@evledraar.gmail.com/

I am not sure this is entirely related, but there is a gap in worktree configuration, specifically includeIf that I was working on, but suspended waiting for worktree code to stabilize. Do you have a sense as to whether this might run into this topic?

Regards,
Randall


  reply	other threads:[~2022-12-08 22:03 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-08 21:41 [PATCH v3 0/2] worktree: Support `--orphan` when creating new worktrees Jacob Abel
2022-12-08 22:00 ` rsbecker [this message]
2022-12-12  0:38   ` 'Jacob Abel'
  -- strict thread matches above, loose matches on Subject: below --
2022-11-04  1:02 [PATCH 0/4] " Jacob Abel
2022-11-04 21:34 ` [PATCH v2 0/2] " Jacob Abel
2022-11-10 23:32   ` [PATCH v3 " Jacob Abel
2022-11-16  0:39     ` Eric Sunshine
2022-11-17 10:00       ` Ævar Arnfjörð Bjarmason
2022-11-19  3:47         ` Jacob Abel
2022-11-19 11:48           ` Ævar Arnfjörð Bjarmason
2022-11-22  5:16             ` Eric Sunshine
2022-11-22 23:26               ` Jacob Abel
2022-11-22 23:55                 ` Ævar Arnfjörð Bjarmason
2022-11-23  2:47                   ` Jacob Abel
2022-11-23  2:43                 ` Rubén Justo
2022-11-23  5:37                   ` Jacob Abel
2022-11-23  7:35                     ` Rubén Justo
2022-11-22 14:45           ` Phillip Wood
2022-11-23  4:21             ` Jacob Abel

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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='007001d90b50$8ee3c000$acab4000$@nexbridge.com' \
    --to=rsbecker@nexbridge.com \
    --cc=avarab@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=jacobabel@nullpo.dev \
    --cc=me@ttaylorr.com \
    --cc=phillip.wood123@gmail.com \
    --cc=rjusto@gmail.com \
    --cc=sunshine@sunshineco.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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).