From: Junio C Hamano <gitster@pobox.com>
To: Sverre Rabbelier <srabbelier@gmail.com>
Cc: "Ævar Arnfjörð" <avarab@gmail.com>,
"Jonas Flodén" <jonas@floden.nu>, "Eric Herman" <eric@freesa.org>,
"Fernando Vezzosi" <fv@repnz.net>,
"Git List" <git@vger.kernel.org>
Subject: Re: [PATCH] Add abbreviated commit hash to rebase conflict message
Date: Wed, 09 Nov 2011 10:25:21 -0800 [thread overview]
Message-ID: <7vmxc5tapa.fsf@alter.siamese.dyndns.org> (raw)
In-Reply-To: <7v4nyg6b9s.fsf@alter.siamese.dyndns.org> (Junio C. Hamano's message of "Sun, 06 Nov 2011 16:12:31 -0800")
Junio C Hamano <gitster@pobox.com> writes:
> Sverre Rabbelier <srabbelier@gmail.com> writes:
>
>> On Sun, Nov 6, 2011 at 21:27, Junio C Hamano <gitster@pobox.com> wrote:
>>> In what situation does it make sense to say "It came from _this_ commit"?
>>>
>>> I think there is a separate variable that allows any part of the script if
>>> we are being run as a backend of rebase or not, and that is the condition
>>> you are looking for.
>>
>> The closest I could find is:
>>
>> if test -f "$dotest/rebasing"
>>
>> Which is exactly the case when commit is set. Do you prefer the "-f
>> $dotest/rebasing" test or the "-n $commit" one?
>
> Given the variable scoping rules of vanilla shell script, relying on the
> variable $commit is a very bad idea to begin with. I think the variable
> also is used to hold the final commit object name produced by patch
> application elsewhere in the script in the same loop, and I do not think
> existing code clears it before each iteration, as each part of the exiting
> code uses the variable only immediately after that part assigns to the
> variable for its own purpose, and they all know that nobody uses the
> variable as a way for long haul communication media between different
> parts of the script. Unless your patch updated that aspect of the
> lifetime rule for the variable, which I doubt you did, using $commit would
> introduce yet another bug without solving anything, I would think.
I was looking at git-am today for a separate topic. Doesn't it appear to
you that $dotest/original-commit is what serves your purpose the best?
The file is removed before starting to process a new input (i.e. message
in the mbox), created only after we read the from line and determine it is
really the commit we are rebasing, and is left intact until we decide the
patch was applied correctly and write the result out as a tree.
It might be a clean-up to get rid of $dotest/original-commit file, rename
the variable to $original_commit and initialize it to an empty string
where we currently have 'rm -f "$dotest/original-commit"' (and replace the
check 'test -f "$dotest/original-commit"' later in the script with a check
'test -n "$original_commit"'), though.
prev parent reply other threads:[~2011-11-09 18:25 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-05 14:02 [PATCH] Add abbreviated commit hash to rebase conflict message Sverre Rabbelier
2011-11-06 0:31 ` Junio C Hamano
2011-11-06 0:37 ` Sverre Rabbelier
2011-11-06 4:14 ` Junio C Hamano
2011-11-06 19:35 ` Sverre Rabbelier
2011-11-06 20:27 ` Junio C Hamano
2011-11-06 20:42 ` Sverre Rabbelier
2011-11-07 0:12 ` Junio C Hamano
2011-11-09 18:25 ` Junio C Hamano [this message]
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=7vmxc5tapa.fsf@alter.siamese.dyndns.org \
--to=gitster@pobox.com \
--cc=avarab@gmail.com \
--cc=eric@freesa.org \
--cc=fv@repnz.net \
--cc=git@vger.kernel.org \
--cc=jonas@floden.nu \
--cc=srabbelier@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.
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 NNTP newsgroup(s).