Re: [PATCH v4 2/9] stash: extract stash-like check into its own function
- From
Jon Seymour <jon.seymour@gmail.com>
- Date
- Aug 13, 2010, 23:55 UTC
- Message-ID
- <AANLkTimDoRHGgQz70P9SZuFQzdUJqPQFY-+3qLvii3gy@mail.gmail.com>
- In-Reply-To
- <7v8w4bnxpj.fsf@alter.siamese.dyndns.org>
On Fri, Aug 13, 2010 at 10:49 AM, Junio C Hamano <gitster@pobox.com> wrote:
Show 29 quoted lines
> Jon Seymour <jon.seymour@gmail.com> writes:
>
>> A similar code block is used in three places; this change
>> factors the stash-like check into a separate function so that
>> it can be used in these and other places.
>
> "git stash show" used to be able to show a single-parent commit, and we
> are forbidding that "feature". I'd actually call that a bugfix though ;-)
>
>> +# if this function returns, then:
>> +# s is set to the stash commit
>> +# w_commit is set to the commit containing the working tree
>> +# b_commit is set to the base commit
>> +# i_commit is set to the commit containing the index tree
>> +# otherwise:
>> +# the function exits via die
>> +#
>> +assert_stash_like() {
>> + # stash records the work tree, and is a merge between the
>> + # base commit (first parent) and the index tree (second parent).
>> + s=$(git rev-parse --revs-only --quiet --verify --default $ref_stash "$@") &&
>> + w_commit=$(git rev-parse --quiet --verify "$s:") &&
>> + b_commit=$(git rev-parse --quiet --verify "$s^1:") &&
>> + i_commit=$(git rev-parse --quiet --verify "$s^2:") ||
>> + die "$*: no valid stashed state found"
>
> Don't these "rev-parse" calls return tree objects? It is too confusing to
> call them x_commit if that is the case.
>My bad. You are quite correct. I was a little _too_ eager to remove a redundancy. This also explains my misconceived "Note tor reviewers"! I'll fix in the next round.