All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: Nanako Shiraishi <nanako3@lavabit.com>, git@vger.kernel.org
Subject: Re: What's cooking in git.git (Jan 2010, #01; Mon, 04)
Date: Wed, 06 Jan 2010 09:07:52 -0800	[thread overview]
Message-ID: <7vocl7yxef.fsf@alter.siamese.dyndns.org> (raw)
In-Reply-To: alpine.DEB.1.00.1001061219180.11013@intel-tinevez-2-302

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:

> It might be easier to understand like this:
>
> 	case "$1" in
> 	*...*)
> 		left=${1%...*} &&
> 		right=${1#*...} &&
> 		onto="$(git merge-base "${left:-HEAD}" "${right:-HEAD}")" &&
> 		test ! -z "$onto" &&
> 		echo "$onto"
> 	;;
> 	*)
> 		git rev-parse --verify "$1^0"
> 	;;
> 	esac

Double-semicolons should be indented one level deeper.

I think your version may be slightly better (avoids one "expr"), but it
actually was much harder to read your cascade of && that implicitly exits
with non-zero status in the first case arm than the explicit exit status
given by the original patch.

As far as I can tell, both versions inherit the same bug from me when the
user gave us A...B pair that has more than one merge bases.  I think you
need to give --all to merge-base and resurrect the "did we get more than
one" test from her patch.

> Besides, why do you change the "$1" to "$1^0"?

Isn't it a bugfix?

Earlier code wouldn't have caught "--onto $blob_id" as an error, but this
will do so---I actually think it is a good change.

>> diff --git a/git-rebase.sh b/git-rebase.sh
>> index 6503113..43c62c0 100755
>> --- a/git-rebase.sh
>> +++ b/git-rebase.sh
>
> I would separate the patches.  rebase.sh and rebase--interactive.sh are 
> fundamentally different.

I too think splitting into two patches would make sense in this case.  The
patch to git-rebase.sh seems to be a bugfix in the left/right computation;
I am kind of surprised that I haven't triggered it myself so far.

Thanks.

  reply	other threads:[~2010-01-06 17:08 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-04  8:39 What's cooking in git.git (Jan 2010, #01; Mon, 04) Junio C Hamano
2010-01-04 16:19 ` Matthieu Moy
2010-01-04 19:10   ` Junio C Hamano
2010-01-04 16:29 ` Johannes Sixt
2010-01-05  1:35   ` Junio C Hamano
2010-01-05  4:20     ` Jeff King
2010-01-05  5:18       ` Junio C Hamano
2010-01-05 20:49     ` Johannes Sixt
2010-01-06  7:47       ` Junio C Hamano
2010-01-06  9:08         ` Johannes Sixt
2010-01-06 17:04           ` Junio C Hamano
2010-01-05  5:57 ` Junio C Hamano
2010-01-05  6:40   ` Jeff King
2010-01-05  7:28     ` Tay Ray Chuan
2010-01-05  8:16   ` [PATCH] Teach --[no-]rerere-autoupdate option to merge, revert and friends Junio C Hamano
2010-01-05 11:31   ` What's cooking in git.git (Jan 2010, #01; Mon, 04) Johan Herland
2010-01-05 11:56   ` Ilari Liusvaara
2010-01-06  1:04     ` Junio C Hamano
2010-01-06 10:18   ` Nanako Shiraishi
2010-01-06 11:29     ` Johannes Schindelin
2010-01-06 17:07       ` Junio C Hamano [this message]
2010-01-07 11:05         ` [PATCH (v2) 1/2] rebase: fix --onto A...B parsing and add tests Nanako Shiraishi
2010-01-07 11:05         ` [PATCH (v2) 2/2] rebase -i: teach --onto A...B syntax Nanako Shiraishi
2010-01-07 20:19           ` Junio C Hamano
2010-01-07 21:10             ` Johannes Sixt
2010-01-08 20:16             ` Avery Pennarun
2010-01-08 20:22               ` Sverre Rabbelier
2010-01-08 20:31                 ` Avery Pennarun
2010-01-08 20:37                   ` Sverre Rabbelier
2010-01-08 23:21                     ` A Large Angry SCM
2010-01-09  1:36                       ` Johannes Schindelin
2010-01-09 21:02                         ` Avery Pennarun

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

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

  git send-email \
    --in-reply-to=7vocl7yxef.fsf@alter.siamese.dyndns.org \
    --to=gitster@pobox.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=nanako3@lavabit.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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.