git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Ben Wijen <ben@wijen.net>
Cc: git@vger.kernel.org,
	Johannes Schindelin <johannes.schindelin@gmx.de>,
	Pratik Karki <predatoramigo@gmail.com>
Subject: Re: [PATCH 1/2] t3420: never change upstream branch
Date: Mon, 19 Aug 2019 14:55:42 -0700	[thread overview]
Message-ID: <xmqqr25gx1k1.fsf@gitster-ct.c.googlers.com> (raw)
In-Reply-To: <20190818095349.3218-2-ben@wijen.net> (Ben Wijen's message of "Sun, 18 Aug 2019 11:53:48 +0200")

Ben Wijen <ben@wijen.net> writes:

> When using `git rebase --autostash <upstream> <branch>` and
> the workarea is dirty, the active branch is incorrectly reset
> to the rebase <upstream> branch.
>
> This test will check for such behavior.
>
> Signed-off-by: Ben Wijen <ben@wijen.net>
> ---
>  t/t3420-rebase-autostash.sh | 9 +++++++++
>  1 file changed, 9 insertions(+)
>
> diff --git a/t/t3420-rebase-autostash.sh b/t/t3420-rebase-autostash.sh
> index b8f4d03467..867e4e0b17 100755
> --- a/t/t3420-rebase-autostash.sh
> +++ b/t/t3420-rebase-autostash.sh
> @@ -306,4 +306,13 @@ test_expect_success 'branch is left alone when possible' '
>  	test unchanged-branch = "$(git rev-parse --abbrev-ref HEAD)"
>  '
>  
> +test_expect_success 'never change upstream branch' '
> +	test_when_finished "git reset --hard && git branch -D upstream" &&
> +	git checkout -b upstream unrelated-onto-branch &&
> +	echo changed >file0 &&
> +	git add file0 &&
> +	git rebase --autostash upstream feature-branch &&
> +	test $(git rev-parse upstream) = $(git rev-parse unrelated-onto-branch)
> +'
> +
>  test_done

If you are going to make these into two separate commits (which I do
not necessarily recommend), introduce it as "test_expect_failure" in
step 1/2 and flip it to "test_expect_success" in step 2/2, when the
breakage is corrected.

This breakage may have happened somewhere between v2.19 and v2.20,
if my hunch is correct.  If it is easy to identify the exact point
of breakage, it may make sense to note it in the log message of 2/2
as well.  My guess is 176f5d96 ("built-in rebase --autostash: leave
the current branch alone if possible", 2018-11-07) is the plausible
candidate (iow, I suspect that the "do not detach" optimization was
made a bit too aggressively by that commit), but don't quote me on
it as this was purely done by "git log --grep -p" and not compiling
or running any tests ;-)

Thanks.



  reply	other threads:[~2019-08-19 21:55 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-18  9:53 [PATCH 0/2] git rebase: Make sure upstream branch is left alone Ben Wijen
2019-08-18  9:53 ` [PATCH 1/2] t3420: never change upstream branch Ben Wijen
2019-08-19 21:55   ` Junio C Hamano [this message]
2019-08-20  8:58   ` Phillip Wood
2019-08-18  9:53 ` [PATCH 2/2] rebase.c: make sure current branch isn't moved when autostashing Ben Wijen
2019-08-20  9:00   ` Phillip Wood
2019-08-20 19:53     ` Ben
2019-08-20 20:12   ` [PATCH v2 0/1] git rebase: Make sure upstream branch is left alone Ben Wijen
2019-08-20 20:12     ` [PATCH v2 1/1] rebase.c: make sure current branch isn't moved when autostashing Ben Wijen
2019-08-20 20:24       ` Eric Sunshine
2019-08-20 20:58       ` Junio C Hamano
2019-08-21 18:29     ` [PATCH v3 0/1] rebase.c: make sure the active " Ben Wijen
2019-08-21 18:29       ` [PATCH v3 1/1] " Ben Wijen
2019-08-22 12:27         ` Johannes Schindelin
2019-08-22 15:49           ` Junio C Hamano
2019-08-26 16:45       ` [PATCH v4 " Ben Wijen
2019-08-26 16:45         ` Ben Wijen
2019-08-26 17:10           ` SZEDER Gábor
2019-08-28 12:56         ` Johannes Schindelin
2019-08-28 15:34           ` Junio C Hamano
2019-08-28 16:03             ` Junio C Hamano
2019-08-29 16:47         ` [PATCH v5 0/2] rebase.c: make sure current " Ben Wijen
2019-08-29 16:47           ` [PATCH v5 1/2] builtin/rebase.c: make sure the active " Ben Wijen
2019-08-29 16:47           ` [PATCH v5 2/2] builtin/rebase.c: Remove pointless message Ben Wijen
2019-08-30 15:16           ` [PATCH v6 0/2] rebase.c: make sure current branch isn't moved when autostashing Ben Wijen
2019-08-30 15:16             ` [PATCH v6 1/2] builtin/rebase.c: make sure the active " Ben Wijen
2019-08-30 20:15               ` Junio C Hamano
2019-08-31  7:17                 ` Ben
2019-09-01 16:01                   ` Junio C Hamano
2019-09-01 16:27                     ` Ben
2019-09-02 17:33                       ` Junio C Hamano
2019-08-30 15:16             ` [PATCH v6 2/2] builtin/rebase.c: Remove pointless message Ben Wijen
2019-08-30 20:16               ` Junio C Hamano
2019-08-31  7:17                 ` Ben
2019-08-30 15:16             ` [PATCH " Ben Wijen
2019-08-19  9:26 ` [PATCH 0/2] git rebase: Make sure upstream branch is left alone Phillip Wood
2019-08-19 15:33   ` Ben
2019-08-19 18:21     ` 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

  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=xmqqr25gx1k1.fsf@gitster-ct.c.googlers.com \
    --to=gitster@pobox.com \
    --cc=ben@wijen.net \
    --cc=git@vger.kernel.org \
    --cc=johannes.schindelin@gmx.de \
    --cc=predatoramigo@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).