git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCH 00/16] worktree: use "git reset --hard" to populate worktree
@ 2015-07-11  0:05 Eric Sunshine
  2015-07-11  0:05 ` [PATCH 01/16] checkout: avoid resolving HEAD unnecessarily Eric Sunshine
                   ` (16 more replies)
  0 siblings, 17 replies; 31+ messages in thread
From: Eric Sunshine @ 2015-07-11  0:05 UTC (permalink / raw)
  To: git
  Cc: Duy Nguyen, Junio C Hamano, Mark Levedahl, Mikael Magnusson,
	Eric Sunshine

This is a follow-on series to [1], which migrated "git checkout --to"
functionality to "git worktree add". That series continued using "git
checkout" for the initial population of the new worktree, which required
git-checkout to have too intimate knowledge that it was operating in a
newly created worktree.

This series eliminates git-checkout from the picture by instead
employing "git reset --hard"[2] to populate the new worktree initially.

It is built atop 1eb07d8 (worktree: add: auto-vivify new branch when
<branch> is omitted, 2015-07-06), currently in 'next', which is
es/worktree-add except for the final patch (which retires
--ignore-other-worktrees) since the intention[3] was to drop that patch.

[1]: http://thread.gmane.org/gmane.comp.version-control.git/273415
[2]: http://thread.gmane.org/gmane.comp.version-control.git/273415/focus=273454
[3]: http://thread.gmane.org/gmane.comp.version-control.git/273415/focus=273585

Eric Sunshine (16):
  checkout: avoid resolving HEAD unnecessarily
  checkout: name check_linked_checkouts() more meaningfully
  checkout: improve die_if_checked_out() robustness
  checkout: die_if_checked_out: simplify strbuf management
  checkout: generalize die_if_checked_out() branch name argument
  branch: publish die_if_checked_out()
  worktree: simplify new branch (-b/-B) option checking
  worktree: introduce options container
  worktree: make --detach mutually exclusive with -b/-B
  worktree: make branch creation distinct from worktree population
  worktree: add_worktree: construct worktree-population command locally
  worktree: detect branch symref/detach and error conditions locally
  worktree: make setup of new HEAD distinct from worktree population
  worktree: avoid resolving HEAD unnecessarily
  worktree: populate via "git reset --hard" rather than "git checkout"
  checkout: drop intimate knowledge of new worktree initial population

 branch.c           |  65 +++++++++++++++++++++++++++++++
 branch.h           |   7 ++++
 builtin/checkout.c |  82 +++------------------------------------
 builtin/worktree.c | 110 +++++++++++++++++++++++++++++++++++------------------
 4 files changed, 151 insertions(+), 113 deletions(-)

-- 
2.5.0.rc1.201.ga12d9f8

^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2015-07-15 10:00 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-11  0:05 [PATCH 00/16] worktree: use "git reset --hard" to populate worktree Eric Sunshine
2015-07-11  0:05 ` [PATCH 01/16] checkout: avoid resolving HEAD unnecessarily Eric Sunshine
2015-07-11  0:05 ` [PATCH 02/16] checkout: name check_linked_checkouts() more meaningfully Eric Sunshine
2015-07-11  0:05 ` [PATCH 03/16] checkout: improve die_if_checked_out() robustness Eric Sunshine
2015-07-11  0:05 ` [PATCH 04/16] checkout: die_if_checked_out: simplify strbuf management Eric Sunshine
2015-07-11  0:05 ` [PATCH 05/16] checkout: generalize die_if_checked_out() branch name argument Eric Sunshine
2015-07-11  0:05 ` [PATCH 06/16] branch: publish die_if_checked_out() Eric Sunshine
2015-07-11  0:05 ` [PATCH 07/16] worktree: simplify new branch (-b/-B) option checking Eric Sunshine
2015-07-11  0:05 ` [PATCH 08/16] worktree: introduce options container Eric Sunshine
2015-07-11  0:05 ` [PATCH 09/16] worktree: make --detach mutually exclusive with -b/-B Eric Sunshine
2015-07-11  0:05 ` [PATCH 10/16] worktree: make branch creation distinct from worktree population Eric Sunshine
2015-07-12  1:20   ` Duy Nguyen
2015-07-12  2:36     ` Eric Sunshine
2015-07-12  2:48       ` Duy Nguyen
2015-07-12  3:10         ` Eric Sunshine
2015-07-12  3:14           ` Eric Sunshine
2015-07-12  3:27             ` Eric Sunshine
2015-07-12 10:03               ` Duy Nguyen
     [not found]               ` <CACsJy8BTTdWrCZNz=y686pgju5X8-2mPrNNQ-+z4ByeKD6O5Uw@mail.gmail.com>
2015-07-12 19:20                 ` Eric Sunshine
2015-07-11  0:05 ` [PATCH 11/16] worktree: add_worktree: construct worktree-population command locally Eric Sunshine
2015-07-11  0:05 ` [PATCH 12/16] worktree: detect branch symref/detach and error conditions locally Eric Sunshine
2015-07-11  0:05 ` [PATCH 13/16] worktree: make setup of new HEAD distinct from worktree population Eric Sunshine
2015-07-11  0:05 ` [PATCH 14/16] worktree: avoid resolving HEAD unnecessarily Eric Sunshine
2015-07-11  0:05 ` [PATCH 15/16] worktree: populate via "git reset --hard" rather than "git checkout" Eric Sunshine
2015-07-11  0:05 ` [PATCH 16/16] checkout: drop intimate knowledge of new worktree initial population Eric Sunshine
2015-07-13 18:36 ` [PATCH 00/16] worktree: use "git reset --hard" to populate worktree Junio C Hamano
2015-07-14  9:53   ` Michael J Gruber
2015-07-14 10:09     ` Duy Nguyen
2015-07-14 16:40     ` Eric Sunshine
2015-07-15  6:48   ` Eric Sunshine
2015-07-15  9:59     ` Duy Nguyen

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