git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
To: phillip.wood123@gmail.com
Cc: git@vger.kernel.org, gitster@pobox.com, newren@gmail.com,
	pclouds@gmail.com, phillip.wood@dunelm.org.uk,
	sunshine@sunshineco.com, szeder.dev@gmail.com
Subject: [PATCH] checkout.txt: note about losing staged changes with --merge
Date: Tue, 19 Mar 2019 16:39:10 +0700	[thread overview]
Message-ID: <20190319093910.20229-1-pclouds@gmail.com> (raw)
In-Reply-To: <78628256-79dc-3036-c57b-a96797ceb120@gmail.com>

If you have staged changes in path A and perform 'checkout
--merge' (which could result in conflicts in a totally unrelated path
B), changes in A will be gone. Which is unexpected. We are supposed
to keep all changes, or kick and scream otherwise.

This is the result of how --merge is implemented, from the very first
day in 1be0659efc (checkout: merge local modifications while switching
branches., 2006-01-12):

1. a merge is done, unmerged entries are collected
2. a hard switch to a new branch is done, then unmerged entries added
   back

There is no trivial fix for this. Going with 3-way merge one file at a
time loses rename detection. Going with 3-way merge by trees requires
teaching the algorithm to pick up staged changes. And even if we detect
staged changes with --merge and abort for safety, an option to continue
--merge is very weird. Such an option would keep worktree changes, but
drop staged changes.

Because the problem has been with us since the introduction of --merge
and everybody has been pretty happy (except Phillip, who found this
problem), I'll just take a note here to acknowledge it and wait for
merge wizards to come in and work their magic. There may be a way
forward [1].

[1] CABPp-BFoL_U=bzON4SEMaQSKU2TKwnOgNqjt5MUaOejTKGUJxw@mail.gmail.com

Reported-by: Phillip Wood <phillip.wood123@gmail.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
 This is my "fix" for Phillip's second problem. I chose to reply here
 because this is where an actual fix was discussed. The test script to
 demonstate it is here

 https://public-inbox.org/git/7d3742d6-73e4-2750-6ecb-9edf761d96dd@gmail.com/

 Documentation/git-checkout.txt | 2 ++
 builtin/checkout.c             | 9 +++++++++
 2 files changed, 11 insertions(+)

diff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt
index f179b43732..877e5f503a 100644
--- a/Documentation/git-checkout.txt
+++ b/Documentation/git-checkout.txt
@@ -242,6 +242,8 @@ should result in deletion of the path).
 +
 When checking out paths from the index, this option lets you recreate
 the conflicted merge in the specified paths.
++
+When switching branches with `--merge`, staged changes may be lost.
 
 --conflict=<style>::
 	The same as --merge option above, but changes the way the
diff --git a/builtin/checkout.c b/builtin/checkout.c
index 0e6037b296..f95e7975f7 100644
--- a/builtin/checkout.c
+++ b/builtin/checkout.c
@@ -726,6 +726,8 @@ static int merge_working_tree(const struct checkout_opts *opts,
 			struct tree *result;
 			struct tree *work;
 			struct merge_options o;
+			struct strbuf sb = STRBUF_INIT;
+
 			if (!opts->merge)
 				return 1;
 
@@ -736,6 +738,13 @@ static int merge_working_tree(const struct checkout_opts *opts,
 			if (!old_branch_info->commit)
 				return 1;
 
+			if (repo_index_has_changes(the_repository,
+						   get_commit_tree(old_branch_info->commit),
+						   &sb))
+				warning(_("staged changes in the following files may be lost: %s"),
+					sb.buf);
+			strbuf_release(&sb);
+
 			/* Do more real merge */
 
 			/*
-- 
2.21.0.548.gd3c7d92dc2


  reply	other threads:[~2019-03-19  9:39 UTC|newest]

Thread overview: 289+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-30  9:48 [PATCH 00/19] Add new command "switch" Nguyễn Thái Ngọc Duy
2019-01-30  9:48 ` [PATCH 01/19] git-checkout.txt: fix one syntax line Nguyễn Thái Ngọc Duy
2019-01-30  9:48 ` [PATCH 02/19] doc: document --overwrite-ignore Nguyễn Thái Ngọc Duy
2019-01-30  9:48 ` [PATCH 03/19] t: rename t2014-switch.sh to t2014-checkout-switch.sh Nguyễn Thái Ngọc Duy
2019-01-30  9:48 ` [PATCH 04/19] checkout: factor out some code in parse_branchname_arg() Nguyễn Thái Ngọc Duy
2019-01-30  9:48 ` [PATCH 05/19] checkout: make "opts" in cmd_checkout() a pointer Nguyễn Thái Ngọc Duy
2019-01-30  9:48 ` [PATCH 06/19] checkout: move 'confict_style' and 'dwim_..' to checkout_opts Nguyễn Thái Ngọc Duy
2019-01-30  9:48 ` [PATCH 07/19] checkout: split options[] array in three pieces Nguyễn Thái Ngọc Duy
2019-01-30  9:48 ` [PATCH 08/19] checkout: split part of it to new command switch Nguyễn Thái Ngọc Duy
2019-01-31  0:50   ` Eric Sunshine
2019-01-31  5:29     ` Duy Nguyen
2019-01-31  6:24       ` Eric Sunshine
2019-01-31  7:20         ` Eric Sunshine
2019-01-31  7:43         ` Duy Nguyen
2019-01-31  7:51           ` Eric Sunshine
2019-01-31  9:21           ` [PATCH] git-commit.txt: better description what it does Nguyễn Thái Ngọc Duy
2019-01-31 10:49             ` Eric Sunshine
2019-01-31 11:04               ` Duy Nguyen
2019-02-01  0:21                 ` Eric Sunshine
2019-02-01 10:09             ` [PATCH v2] " Nguyễn Thái Ngọc Duy
2019-02-04 17:59               ` Junio C Hamano
2019-01-31 13:06       ` [PATCH 08/19] checkout: split part of it to new command switch SZEDER Gábor
2019-01-31 13:09   ` SZEDER Gábor
2019-02-08  8:46     ` Duy Nguyen
2019-01-30  9:48 ` [PATCH 09/19] switch: better names for -b and -B Nguyễn Thái Ngọc Duy
2019-01-31  7:03   ` Eric Sunshine
2019-01-30  9:48 ` [PATCH 10/19] switch: remove -l Nguyễn Thái Ngọc Duy
2019-01-30  9:48 ` [PATCH 11/19] switch: stop accepting pathspec Nguyễn Thái Ngọc Duy
2019-01-30  9:48 ` [PATCH 12/19] switch: reject "do nothing" case Nguyễn Thái Ngọc Duy
2019-01-30  9:48 ` [PATCH 13/19] switch: only allow explicit detached HEAD Nguyễn Thái Ngọc Duy
2019-01-30  9:48 ` [PATCH 14/19] switch: add short option for --detach Nguyễn Thái Ngọc Duy
2019-01-30  9:48 ` [PATCH 15/19] switch: no implicit dwim, use --guess to dwim Nguyễn Thái Ngọc Duy
2019-01-30  9:48 ` [PATCH 16/19] switch: no worktree status unless real branch switch happens Nguyễn Thái Ngọc Duy
2019-01-30  9:48 ` [PATCH 17/19] t: add tests for switch Nguyễn Thái Ngọc Duy
2019-01-31  7:18   ` Eric Sunshine
2019-01-30  9:48 ` [PATCH 18/19] completion: support switch Nguyễn Thái Ngọc Duy
2019-01-30  9:48 ` [PATCH 19/19] doc: promote "git switch" Nguyễn Thái Ngọc Duy
2019-01-31  7:39   ` Eric Sunshine
2019-01-31 11:28     ` Duy Nguyen
2019-01-31 13:37 ` [PATCH 00/19] Add new command "switch" SZEDER Gábor
2019-01-31 14:51   ` Duy Nguyen
2019-01-31 18:23     ` Junio C Hamano
2019-02-02 11:06       ` Duy Nguyen
2019-01-31 18:13 ` Junio C Hamano
2019-02-08  9:03 ` [PATCH v2 " Nguyễn Thái Ngọc Duy
2019-02-08  9:03   ` [PATCH v2 01/19] git-checkout.txt: fix one syntax line Nguyễn Thái Ngọc Duy
2019-02-08  9:03   ` [PATCH v2 02/19] doc: document --overwrite-ignore Nguyễn Thái Ngọc Duy
2019-02-08  9:03   ` [PATCH v2 03/19] t: rename t2014-switch.sh to t2014-checkout-switch.sh Nguyễn Thái Ngọc Duy
2019-02-08  9:03   ` [PATCH v2 04/19] checkout: factor out some code in parse_branchname_arg() Nguyễn Thái Ngọc Duy
2019-02-08  9:03   ` [PATCH v2 05/19] checkout: make "opts" in cmd_checkout() a pointer Nguyễn Thái Ngọc Duy
2019-02-08  9:03   ` [PATCH v2 06/19] checkout: move 'confict_style' and 'dwim_..' to checkout_opts Nguyễn Thái Ngọc Duy
2019-02-15 22:38     ` Junio C Hamano
2019-02-08  9:03   ` [PATCH v2 07/19] checkout: split options[] array in three pieces Nguyễn Thái Ngọc Duy
2019-02-08  9:03   ` [PATCH v2 08/19] checkout: split part of it to new command switch Nguyễn Thái Ngọc Duy
2019-02-08  9:03   ` [PATCH v2 09/19] switch: better names for -b and -B Nguyễn Thái Ngọc Duy
2019-02-11  4:02     ` Eric Sunshine
2019-02-08  9:03   ` [PATCH v2 10/19] switch: remove -l Nguyễn Thái Ngọc Duy
2019-02-08  9:03   ` [PATCH v2 11/19] switch: stop accepting pathspec Nguyễn Thái Ngọc Duy
2019-02-08  9:03   ` [PATCH v2 12/19] switch: reject "do nothing" case Nguyễn Thái Ngọc Duy
2019-02-08  9:03   ` [PATCH v2 13/19] switch: only allow explicit detached HEAD Nguyễn Thái Ngọc Duy
2019-02-08  9:03   ` [PATCH v2 14/19] switch: add short option for --detach Nguyễn Thái Ngọc Duy
2019-02-08  9:03   ` [PATCH v2 15/19] switch: no implicit dwim, use --guess to dwim Nguyễn Thái Ngọc Duy
2019-02-10  8:37     ` Eric Sunshine
2019-02-08  9:03   ` [PATCH v2 16/19] switch: no worktree status unless real branch switch happens Nguyễn Thái Ngọc Duy
2019-02-08  9:03   ` [PATCH v2 17/19] t: add tests for switch Nguyễn Thái Ngọc Duy
2019-02-08  9:04   ` [PATCH v2 18/19] completion: support switch Nguyễn Thái Ngọc Duy
2019-02-08 14:19     ` SZEDER Gábor
2019-02-09  5:30       ` Duy Nguyen
2019-02-08  9:04   ` [PATCH v2 19/19] doc: promote "git switch" Nguyễn Thái Ngọc Duy
2019-03-08  9:57   ` [PATCH v3 00/21] Add new command "switch" Nguyễn Thái Ngọc Duy
2019-03-08  9:57     ` [PATCH v3 01/21] git-checkout.txt: spell out --no-option Nguyễn Thái Ngọc Duy
2019-03-10  3:28       ` Eric Sunshine
2019-03-08  9:57     ` [PATCH v3 02/21] git-checkout.txt: fix one syntax line Nguyễn Thái Ngọc Duy
2019-03-08  9:57     ` [PATCH v3 03/21] doc: document --overwrite-ignore Nguyễn Thái Ngọc Duy
2019-03-08  9:57     ` [PATCH v3 04/21] git-checkout.txt: fix monospace typeset Nguyễn Thái Ngọc Duy
2019-03-09 12:35       ` Martin Ågren
2019-03-11  9:35         ` Duy Nguyen
2019-03-11 10:41           ` Martin Ågren
2019-03-08  9:57     ` [PATCH v3 05/21] t: rename t2014-switch.sh to t2014-checkout-switch.sh Nguyễn Thái Ngọc Duy
2019-03-08  9:57     ` [PATCH v3 06/21] checkout: factor out some code in parse_branchname_arg() Nguyễn Thái Ngọc Duy
2019-03-08  9:57     ` [PATCH v3 07/21] checkout: make "opts" in cmd_checkout() a pointer Nguyễn Thái Ngọc Duy
2019-03-08  9:57     ` [PATCH v3 08/21] checkout: move 'confict_style' and 'dwim_..' to checkout_opts Nguyễn Thái Ngọc Duy
2019-03-08  9:57     ` [PATCH v3 09/21] checkout: split options[] array in three pieces Nguyễn Thái Ngọc Duy
2019-03-08  9:57     ` [PATCH v3 10/21] checkout: split part of it to new command 'switch' Nguyễn Thái Ngọc Duy
2019-03-09 12:36       ` Martin Ågren
2019-03-10 22:57       ` Jacob Keller
2019-03-11 19:00         ` Elijah Newren
2019-03-11 11:16       ` Phillip Wood
2019-03-11 11:47         ` Duy Nguyen
2019-03-11 17:03           ` Phillip Wood
2019-03-12 11:54             ` Duy Nguyen
2019-03-11 17:24           ` Elijah Newren
2019-03-11 20:51             ` Phillip Wood
2019-03-11 22:04               ` Elijah Newren
2019-03-12 10:58                 ` Phillip Wood
2019-03-12 12:19               ` Duy Nguyen
2019-03-12 15:36                 ` Eric Sunshine
2019-03-12 16:51                   ` Elijah Newren
2019-03-12 17:28                     ` Eric Sunshine
2019-03-13  1:55                       ` Junio C Hamano
2019-03-14  9:17                       ` Duy Nguyen
2019-03-14 11:02                         ` Phillip Wood
2019-03-14 12:56                           ` Duy Nguyen
2019-03-14 14:46                         ` Elijah Newren
2019-03-18  2:03                           ` Junio C Hamano
2019-03-18 12:06                             ` Duy Nguyen
2019-03-18 19:10                             ` Elijah Newren
2019-03-20 12:04                               ` Duy Nguyen
2019-03-15  6:11                     ` Jacob Keller
2019-03-12 11:58             ` Duy Nguyen
2019-03-12 17:05               ` Elijah Newren
2019-03-14 10:42                 ` Phillip Wood
2019-03-14  3:29         ` Duy Nguyen
2019-03-14  5:59           ` Elijah Newren
2019-03-14  7:23             ` Junio C Hamano
2019-03-14 15:48               ` Elijah Newren
2019-03-14  4:39         ` Junio C Hamano
2019-03-14 14:13         ` Duy Nguyen
2019-03-17  6:00         ` [PATCH] unpack-trees: fix oneway_merge accidentally carry over stage index Nguyễn Thái Ngọc Duy
2019-03-18  3:58           ` Junio C Hamano
2019-03-18  9:24             ` Duy Nguyen
2019-03-18  9:40               ` Junio C Hamano
2019-03-18 11:38           ` [PATCH v2] " Nguyễn Thái Ngọc Duy
2019-03-18 15:40             ` Elijah Newren
2019-03-19 14:06             ` Phillip Wood
2019-03-20  0:41               ` Junio C Hamano
2019-03-20  9:50                 ` Duy Nguyen
2019-03-26 12:50         ` [PATCH v3 10/21] checkout: split part of it to new command 'switch' Duy Nguyen
2019-03-26 15:01           ` Elijah Newren
2019-03-26 15:24             ` Duy Nguyen
2019-03-26 15:48               ` Elijah Newren
2019-03-26 15:57                 ` Duy Nguyen
2019-03-27 10:24                 ` Phillip Wood
2019-03-28 11:04                   ` Duy Nguyen
2019-03-28 15:05                     ` Elijah Newren
2019-03-28 16:23                     ` Phillip Wood
2019-03-28 17:39                       ` Elijah Newren
2019-03-29 11:04                         ` Phillip Wood
2019-03-29 11:27                           ` Duy Nguyen
2019-03-29 15:35                           ` Elijah Newren
2019-04-25 10:20                             ` Phillip Wood
2019-04-01  9:29                 ` Junio C Hamano
2019-03-11 17:54       ` Elijah Newren
2019-03-12 11:06         ` Phillip Wood
2019-03-12 16:43           ` Elijah Newren
2019-03-14 11:00             ` Phillip Wood
2019-03-19  9:39               ` Nguyễn Thái Ngọc Duy [this message]
2019-03-19 11:24                 ` [PATCH] checkout.txt: note about losing staged changes with --merge Phillip Wood
2019-03-20  0:23                 ` Junio C Hamano
2019-03-20  0:40                   ` Duy Nguyen
2019-03-20  1:19                     ` Junio C Hamano
2019-03-20  1:22                       ` Duy Nguyen
2019-03-20  1:50                         ` Junio C Hamano
2019-03-20 13:53                           ` Elijah Newren
2019-03-20 13:57                             ` Duy Nguyen
2019-03-21 13:46                               ` Elijah Newren
2019-03-21  0:38                             ` Junio C Hamano
2019-03-13 11:05         ` [PATCH v3 10/21] checkout: split part of it to new command 'switch' Duy Nguyen
2019-03-13 14:36           ` Elijah Newren
2019-03-08  9:57     ` [PATCH v3 11/21] switch: better names for -b and -B Nguyễn Thái Ngọc Duy
2019-03-08  9:57     ` [PATCH v3 12/21] switch: remove -l Nguyễn Thái Ngọc Duy
2019-03-08  9:57     ` [PATCH v3 13/21] switch: stop accepting pathspec Nguyễn Thái Ngọc Duy
2019-03-08  9:57     ` [PATCH v3 14/21] switch: reject "do nothing" case Nguyễn Thái Ngọc Duy
2019-03-08  9:57     ` [PATCH v3 15/21] switch: only allow explicit detached HEAD Nguyễn Thái Ngọc Duy
2019-03-08  9:57     ` [PATCH v3 16/21] switch: add short option for --detach Nguyễn Thái Ngọc Duy
2019-03-08  9:57     ` [PATCH v3 17/21] switch: no implicit dwim, use --guess to dwim Nguyễn Thái Ngọc Duy
2019-03-13 18:36       ` Eckhard Maaß
2019-03-15  8:19         ` Eric Sunshine
2019-03-15  9:29           ` Duy Nguyen
2019-03-18  4:11           ` Junio C Hamano
2019-03-16  3:59         ` Duy Nguyen
2019-03-08  9:57     ` [PATCH v3 18/21] switch: no worktree status unless real branch switch happens Nguyễn Thái Ngọc Duy
2019-03-10  3:43       ` Eric Sunshine
2019-03-08  9:57     ` [PATCH v3 19/21] t: add tests for switch Nguyễn Thái Ngọc Duy
2019-03-10  3:59       ` Eric Sunshine
2019-03-10 10:09       ` Andrei Rybak
2019-03-08  9:57     ` [PATCH v3 20/21] completion: support switch Nguyễn Thái Ngọc Duy
2019-03-08  9:57     ` [PATCH v3 21/21] doc: promote "git switch" Nguyễn Thái Ngọc Duy
2019-03-08 17:48     ` [PATCH v3 00/21] Add new command "switch" Ramsay Jones
2019-03-09 11:56       ` Duy Nguyen
2019-03-17 12:49     ` [PATCH v4 00/26] Add new command 'switch' Nguyễn Thái Ngọc Duy
2019-03-17 12:49       ` [PATCH v4 01/26] git-checkout.txt: spell out --no-option Nguyễn Thái Ngọc Duy
2019-03-17 12:49       ` [PATCH v4 02/26] git-checkout.txt: fix one syntax line Nguyễn Thái Ngọc Duy
2019-03-17 12:49       ` [PATCH v4 03/26] doc: document --overwrite-ignore Nguyễn Thái Ngọc Duy
2019-03-17 19:18         ` Martin Ågren
2019-03-17 12:49       ` [PATCH v4 04/26] git-checkout.txt: fix monospace typeset Nguyễn Thái Ngọc Duy
2019-03-17 19:21         ` Martin Ågren
2019-03-17 12:49       ` [PATCH v4 05/26] t: rename t2014-switch.sh to t2014-checkout-switch.sh Nguyễn Thái Ngọc Duy
2019-03-17 12:49       ` [PATCH v4 06/26] checkout: advice how to get out of detached HEAD mode Nguyễn Thái Ngọc Duy
2019-03-17 12:49       ` [PATCH v4 07/26] checkout: keep most #include sorted Nguyễn Thái Ngọc Duy
2019-03-17 12:49       ` [PATCH v4 08/26] checkout: factor out some code in parse_branchname_arg() Nguyễn Thái Ngọc Duy
2019-03-17 12:49       ` [PATCH v4 09/26] checkout: make "opts" in cmd_checkout() a pointer Nguyễn Thái Ngọc Duy
2019-03-17 12:49       ` [PATCH v4 10/26] checkout: move 'confict_style' and 'dwim_..' to checkout_opts Nguyễn Thái Ngọc Duy
2019-03-17 12:49       ` [PATCH v4 11/26] checkout: split options[] array in three pieces Nguyễn Thái Ngọc Duy
2019-03-17 12:49       ` [PATCH v4 12/26] checkout: split part of it to new command 'switch' Nguyễn Thái Ngọc Duy
2019-03-18 16:48         ` Elijah Newren
2019-03-17 12:49       ` [PATCH v4 13/26] switch: better names for -b and -B Nguyễn Thái Ngọc Duy
2019-03-17 12:49       ` [PATCH v4 14/26] switch: add --discard-changes Nguyễn Thái Ngọc Duy
2019-03-18 23:55         ` Eric Sunshine
2019-03-17 12:49       ` [PATCH v4 15/26] switch: remove -l Nguyễn Thái Ngọc Duy
2019-03-17 12:49       ` [PATCH v4 16/26] switch: stop accepting pathspec Nguyễn Thái Ngọc Duy
2019-03-17 12:49       ` [PATCH v4 17/26] switch: reject "do nothing" case Nguyễn Thái Ngọc Duy
2019-03-17 12:49       ` [PATCH v4 18/26] switch: only allow explicit detached HEAD Nguyễn Thái Ngọc Duy
2019-03-17 12:49       ` [PATCH v4 19/26] switch: add short option for --detach Nguyễn Thái Ngọc Duy
2019-03-17 12:49       ` [PATCH v4 20/26] switch: implicit dwim, use --no-guess to disable it Nguyễn Thái Ngọc Duy
2019-03-17 12:49       ` [PATCH v4 21/26] switch: no worktree status unless real branch switch happens Nguyễn Thái Ngọc Duy
2019-03-17 12:49       ` [PATCH v4 22/26] switch: reject if some operation is in progress Nguyễn Thái Ngọc Duy
2019-03-20 11:16         ` Phillip Wood
2019-03-17 12:49       ` [PATCH v4 23/26] switch: --orphan defaults to empty tree as HEAD Nguyễn Thái Ngọc Duy
2019-03-17 12:49       ` [PATCH v4 24/26] t: add tests for switch Nguyễn Thái Ngọc Duy
2019-03-17 12:49       ` [PATCH v4 25/26] completion: support switch Nguyễn Thái Ngọc Duy
2019-03-17 12:49       ` [PATCH v4 26/26] doc: promote "git switch" Nguyễn Thái Ngọc Duy
2019-03-17 12:58       ` [PATCH v4 00/26] Add new command 'switch' Duy Nguyen
2019-03-18  4:54         ` Junio C Hamano
2019-03-18 12:13           ` Duy Nguyen
2019-03-19  0:43             ` Junio C Hamano
2019-03-21 13:16       ` [PATCH v5 " Nguyễn Thái Ngọc Duy
2019-03-21 13:16         ` [PATCH v5 01/26] git-checkout.txt: spell out --no-option Nguyễn Thái Ngọc Duy
2019-03-21 13:16         ` [PATCH v5 02/26] git-checkout.txt: fix one syntax line Nguyễn Thái Ngọc Duy
2019-03-21 13:16         ` [PATCH v5 03/26] doc: document --overwrite-ignore Nguyễn Thái Ngọc Duy
2019-03-21 13:16         ` [PATCH v5 04/26] git-checkout.txt: fix monospace typeset Nguyễn Thái Ngọc Duy
2019-03-21 13:16         ` [PATCH v5 05/26] t: rename t2014-switch.sh to t2014-checkout-switch.sh Nguyễn Thái Ngọc Duy
2019-03-21 13:16         ` [PATCH v5 06/26] checkout: advice how to get out of detached HEAD mode Nguyễn Thái Ngọc Duy
2019-03-21 13:16         ` [PATCH v5 07/26] checkout: keep most #include sorted Nguyễn Thái Ngọc Duy
2019-03-21 13:16         ` [PATCH v5 08/26] checkout: factor out some code in parse_branchname_arg() Nguyễn Thái Ngọc Duy
2019-03-21 13:16         ` [PATCH v5 09/26] checkout: make "opts" in cmd_checkout() a pointer Nguyễn Thái Ngọc Duy
2019-03-21 13:16         ` [PATCH v5 10/26] checkout: move 'confict_style' and 'dwim_..' to checkout_opts Nguyễn Thái Ngọc Duy
2019-03-21 13:16         ` [PATCH v5 11/26] checkout: split options[] array in three pieces Nguyễn Thái Ngọc Duy
2019-03-21 13:16         ` [PATCH v5 12/26] checkout: split part of it to new command 'switch' Nguyễn Thái Ngọc Duy
2019-03-21 13:16         ` [PATCH v5 13/26] switch: better names for -b and -B Nguyễn Thái Ngọc Duy
2019-03-21 13:16         ` [PATCH v5 14/26] switch: add --discard-changes Nguyễn Thái Ngọc Duy
2019-03-21 13:16         ` [PATCH v5 15/26] switch: remove -l Nguyễn Thái Ngọc Duy
2019-03-21 13:16         ` [PATCH v5 16/26] switch: stop accepting pathspec Nguyễn Thái Ngọc Duy
2019-03-21 13:16         ` [PATCH v5 17/26] switch: reject "do nothing" case Nguyễn Thái Ngọc Duy
2019-03-21 13:16         ` [PATCH v5 18/26] switch: only allow explicit detached HEAD Nguyễn Thái Ngọc Duy
2019-03-21 13:16         ` [PATCH v5 19/26] switch: add short option for --detach Nguyễn Thái Ngọc Duy
2019-03-21 13:16         ` [PATCH v5 20/26] switch: implicit dwim, use --no-guess to disable it Nguyễn Thái Ngọc Duy
2019-03-21 13:16         ` [PATCH v5 21/26] switch: no worktree status unless real branch switch happens Nguyễn Thái Ngọc Duy
2019-03-21 13:16         ` [PATCH v5 22/26] switch: reject if some operation is in progress Nguyễn Thái Ngọc Duy
2019-03-21 13:16         ` [PATCH v5 23/26] switch: make --orphan switch to an empty tree Nguyễn Thái Ngọc Duy
2019-03-21 13:16         ` [PATCH v5 24/26] t: add tests for switch Nguyễn Thái Ngọc Duy
2019-03-21 13:16         ` [PATCH v5 25/26] completion: support switch Nguyễn Thái Ngọc Duy
2019-03-21 13:16         ` [PATCH v5 26/26] doc: promote "git switch" Nguyễn Thái Ngọc Duy
2019-03-22  8:00           ` Andrei Rybak
2019-03-22  9:12             ` Duy Nguyen
2019-03-21 13:32         ` [PATCH v5 00/26] Add new command 'switch' Elijah Newren
2019-03-22  4:26         ` Junio C Hamano
2019-03-22  7:30           ` Duy Nguyen
2019-03-29 10:38         ` [PATCH v6 00/27] " Nguyễn Thái Ngọc Duy
2019-03-29 10:38           ` [PATCH v6 01/27] git-checkout.txt: spell out --no-option Nguyễn Thái Ngọc Duy
2019-03-29 10:38           ` [PATCH v6 02/27] git-checkout.txt: fix one syntax line Nguyễn Thái Ngọc Duy
2019-03-29 10:38           ` [PATCH v6 03/27] doc: document --overwrite-ignore Nguyễn Thái Ngọc Duy
2019-03-29 10:38           ` [PATCH v6 04/27] git-checkout.txt: fix monospace typeset Nguyễn Thái Ngọc Duy
2019-03-29 10:38           ` [PATCH v6 05/27] t: rename t2014-switch.sh to t2014-checkout-switch.sh Nguyễn Thái Ngọc Duy
2019-03-29 10:38           ` [PATCH v6 06/27] checkout: advice how to get out of detached HEAD mode Nguyễn Thái Ngọc Duy
2019-03-29 10:38           ` [PATCH v6 07/27] checkout: inform the user when removing branch state Nguyễn Thái Ngọc Duy
2019-07-02  8:06             ` SZEDER Gábor
2019-07-02  9:03               ` Duy Nguyen
2019-07-02 10:43                 ` SZEDER Gábor
2019-07-02 17:51                 ` Junio C Hamano
2019-07-04 23:57                   ` Duy Nguyen
2019-03-29 10:39           ` [PATCH v6 08/27] checkout: keep most #include sorted Nguyễn Thái Ngọc Duy
2019-03-29 10:39           ` [PATCH v6 09/27] checkout: factor out some code in parse_branchname_arg() Nguyễn Thái Ngọc Duy
2019-03-29 10:39           ` [PATCH v6 10/27] checkout: make "opts" in cmd_checkout() a pointer Nguyễn Thái Ngọc Duy
2019-03-29 10:39           ` [PATCH v6 11/27] checkout: move 'confict_style' and 'dwim_..' to checkout_opts Nguyễn Thái Ngọc Duy
2019-03-29 10:39           ` [PATCH v6 12/27] checkout: split options[] array in three pieces Nguyễn Thái Ngọc Duy
2019-03-29 10:39           ` [PATCH v6 13/27] checkout: split part of it to new command 'switch' Nguyễn Thái Ngọc Duy
2019-03-29 10:39           ` [PATCH v6 14/27] switch: better names for -b and -B Nguyễn Thái Ngọc Duy
2019-03-29 10:39           ` [PATCH v6 15/27] switch: add --discard-changes Nguyễn Thái Ngọc Duy
2019-04-25 10:02             ` Phillip Wood
2019-04-25 10:12               ` Duy Nguyen
2019-04-29 15:14                 ` Phillip Wood
2019-03-29 10:39           ` [PATCH v6 16/27] switch: remove -l Nguyễn Thái Ngọc Duy
2019-03-29 10:39           ` [PATCH v6 17/27] switch: stop accepting pathspec Nguyễn Thái Ngọc Duy
2019-03-29 10:39           ` [PATCH v6 18/27] switch: reject "do nothing" case Nguyễn Thái Ngọc Duy
2019-03-29 10:39           ` [PATCH v6 19/27] switch: only allow explicit detached HEAD Nguyễn Thái Ngọc Duy
2019-03-29 10:39           ` [PATCH v6 20/27] switch: add short option for --detach Nguyễn Thái Ngọc Duy
2019-03-29 10:39           ` [PATCH v6 21/27] switch: implicit dwim, use --no-guess to disable it Nguyễn Thái Ngọc Duy
2019-03-29 10:39           ` [PATCH v6 22/27] switch: no worktree status unless real branch switch happens Nguyễn Thái Ngọc Duy
2019-03-29 10:39           ` [PATCH v6 23/27] switch: reject if some operation is in progress Nguyễn Thái Ngọc Duy
2019-03-29 15:47             ` Elijah Newren
2019-04-25 10:33             ` Phillip Wood
2019-04-29  9:16               ` Duy Nguyen
2019-04-29 15:10                 ` Phillip Wood
2019-03-29 10:39           ` [PATCH v6 24/27] switch: make --orphan switch to an empty tree Nguyễn Thái Ngọc Duy
2019-03-29 10:39           ` [PATCH v6 25/27] t: add tests for switch Nguyễn Thái Ngọc Duy
2019-03-29 10:39           ` [PATCH v6 26/27] completion: support switch Nguyễn Thái Ngọc Duy
2019-03-29 10:39           ` [PATCH v6 27/27] doc: promote "git switch" Nguyễn Thái Ngọc Duy
2019-03-29 15:58           ` [PATCH v6 00/27] Add new command 'switch' 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

  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=20190319093910.20229-1-pclouds@gmail.com \
    --to=pclouds@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=newren@gmail.com \
    --cc=phillip.wood123@gmail.com \
    --cc=phillip.wood@dunelm.org.uk \
    --cc=sunshine@sunshineco.com \
    --cc=szeder.dev@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.
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).