From: Tomas Carnecky <hidden> Date: 2016-06-15 22:49:38
This bug was disovered by someone on IRC when he tried to 'git stash branch <branch> <stash>'
while <branch> already existed. In that case the stash is dropped even though it isn't
applied on any branch, so the stash is effectively lost. I think that shouldn't happen,
so here is a test.
---
t/t3903-stash.sh | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
@@ -545,4 +545,15 @@ test_expect_success 'invalid ref of the form stash@{n}, n >= N' 'gitstashdrop'+test_expect_failure'stash branch should not drop the stash if the branch exists''+gitstashclear&&+echofoo>file&&+gitaddfile&&+gitcommit-minitial&&+echobar>file&&+gitstash&&+test_must_failgitstashbranchmasterstash@{0}&&+gitrev-parsestash@{0}--+'+ test_done
From: Jon Seymour <hidden> Date: 2016-06-15 22:49:38
This series fixes another (sorry!) regression I introduced with my detached-stash series.
I have included Tomas' test, so that my tweak to the test script applies cleanly.
Jon Seymour (1):
stash: fix git stash branch regression when branch creation fails
Tomas Carnecky (1):
stash drops the stash even if creating the branch fails because it
already exists
git-stash.sh | 6 +++---
t/t3903-stash.sh | 11 +++++++++++
2 files changed, 14 insertions(+), 3 deletions(-)
--
1.7.3.4.g787b.dirty
From: Jon Seymour <hidden> Date: 2016-06-15 22:49:38
From: Tomas Carnecky <redacted>
This bug was disovered by someone on IRC when he tried to 'git stash branch <branch> <stash>'
while <branch> already existed. In that case the stash is dropped even though it isn't
applied on any branch, so the stash is effectively lost. I think that shouldn't happen,
so here is a test.
---
t/t3903-stash.sh | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
@@ -545,4 +545,15 @@ test_expect_success 'invalid ref of the form stash@{n}, n >= N' 'gitstashdrop'+test_expect_failure'stash branch should not drop the stash if the branch exists''+gitstashclear&&+echofoo>file&&+gitaddfile&&+gitcommit-minitial&&+echobar>file&&+gitstash&&+test_must_failgitstashbranchmasterstash@{0}&&+gitrev-parsestash@{0}--+'+ test_done
From: Jon Seymour <hidden> Date: 2016-06-15 22:49:38
Tomas Carnecky reported a regression in the behaviour
of git stash branch, when the branch creation fails.
This patch fixes that regression by restoring the
pre-condition for dropping that previously existed.
This patch assumes Tomas Carnecky's patch has already been applied.
Signed-off-by: Jon Seymour <redacted>
---
git-stash.sh | 6 +++---
t/t3903-stash.sh | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
@@ -545,7 +545,7 @@ test_expect_success 'invalid ref of the form stash@{n}, n >= N' 'gitstashdrop'-test_expect_failure'stash branch should not drop the stash if the branch exists''+test_expect_success'stash branch should not drop the stash if the branch exists''gitstashclear&&echofoo>file&&gitaddfile&&
From: Tomas Carnecky <hidden> Date: 2016-06-15 22:49:38
On 9/28/10 3:19 PM, Jon Seymour wrote:
From: Tomas Carnecky <redacted>
This bug was disovered by someone on IRC when he tried to 'git stash branch <branch> <stash>'
while <branch> already existed. In that case the stash is dropped even though it isn't
applied on any branch, so the stash is effectively lost. I think that shouldn't happen,
so here is a test.
This line was missing from my original patch, sorry about that:
Signed-off-by: Tomas Carnecky <redacted>
@@ -545,4 +545,15 @@ test_expect_success 'invalid ref of the form stash@{n}, n >= N' 'gitstashdrop'+test_expect_failure'stash branch should not drop the stash if the branch exists''+gitstashclear&&+echofoo>file&&+gitaddfile&&+gitcommit-minitial&&+echobar>file&&+gitstash&&+test_must_failgitstashbranchmasterstash@{0}&&+gitrev-parsestash@{0}--+'+ test_done
From: Jon Seymour <hidden> Date: 2016-06-15 22:49:39
Junio,
Let me know if you want me to re-roll this series with Tomas'
sign-off. I can also add my simplification of the Brian's fix and
another fix I have made to have git stash save/create fail early in
case the index contains merge conflicts.
jon.
On Tue, Sep 28, 2010 at 11:21 PM, Tomas Carnecky [off-list ref] wrote:
On 9/28/10 3:19 PM, Jon Seymour wrote:
quoted
From: Tomas Carnecky <redacted>
This bug was disovered by someone on IRC when he tried to 'git stash branch <branch> <stash>'
while <branch> already existed. In that case the stash is dropped even though it isn't
applied on any branch, so the stash is effectively lost. I think that shouldn't happen,
so here is a test.
This line was missing from my original patch, sorry about that:
Signed-off-by: Tomas Carnecky <redacted>
@@ -545,4 +545,15 @@ test_expect_success 'invalid ref of the form stash@{n}, n >= N' '
git stash drop
'
+test_expect_failure 'stash branch should not drop the stash if the branch exists' '
+ git stash clear &&
+ echo foo > file &&
+ git add file &&
+ git commit -m initial &&
+ echo bar > file &&
+ git stash &&
+ test_must_fail git stash branch master stash@{0} &&
+ git rev-parse stash@{0} --
+'
+
test_done
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html