git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 1/2] lib-rebase.sh: fake-editor.sh: Allow checking of commit header(s) in $GIT_EDITOR

From
Nazri Ramliy <ayiehere@gmail.com>
Date
Jul 13, 2010, 00:36 UTC
Message-ID
<AANLkTin03Ea2fIBQiSDpIqRYLYjWRe9U62nZpfczbfST@mail.gmail.com>
In-Reply-To
<7v7hl1fd0n.fsf@alter.siamese.dyndns.org>
On Mon, Jul 12, 2010 at 2:08 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 8 quoted lines
> Nazri Ramliy <ayiehere@gmail.com> writes:
>
>> +test -z "$EXPECT_HEADER" ||
>> +     (
>> +             grep '^pick' < "$1" | cut -d' ' -f3- > commit_headers.$$ &&
>
> Sending output from grep to cut does not sound very cool; wouldn't a
> single "sed" invocation more appropriate?
If I were to use a single "sed" invocation here's how it's going to look like:
	sed -e "s/^pick [0-9a-f]\+//" < "$1" > commit_headers.$$
But doing so reminds me of this:
On Sat, Jul 10, 2010 at 6:30 AM, Junio C Hamano <gitster@pobox.com> wrote:
Show 6 quoted lines
> Nazri Ramliy <ayiehere@gmail.com> writes:
>
>> +                     sed -i "s/^\([a-z]\+\) [0-9a-f]\+ /\1 $REPLACE_COMMIT_ID /" \
>
> This is not portable. Escaping an ERE element with a backslash does not
> make it suitable for use in BRE that sed uses.
Aren't we back to square one? Or am I missing something?
>> +             diff "$EXPECT_HEADER" commit_headers.$$ > /dev/null
>
> Is "test_cmp" inappropriate here for some reason?

It seems appropriate, but this will require a ". ./test-lib.sh" from inside lib-rebase.sh, which fails because at that point we are already in the trash directory for the test, the solution is to do a ". $TEST_DIRECTORY/test-lib.sh" instead but that gives more errors due to test-lib.sh assumes that it is always being "sourced" when $CWD is $TEST_DIRECTORY, i think.

>
>> +     ) ||
>
> Do you need a subshell for this, or just a grouping {} sufficient?
Yes a grouping {} is sufficient.
Note: The only user of the feature that this patch provides is my patch to
t3404-rebase-interactive.sh
(1278896663-3922-2-git-send-email-ayiehere@gmail.com),
the rationale of which is discussed in 7vbpadfd4r.fsf@alter.siamese.dyndns.org.
I'll send a reply to that one in a bit.
nazri.
Previous: Junio C HamanoNext: Jay Soffian
Message 9 of 12 in “lib-rebase.sh: fake-editor.sh: Allow checking of commit header(s) in $GIT_EDITOR”
  1. 1/2 lib-rebase.sh: fake-editor.sh: Allow checking of commit header(s) in $GIT_EDITORNazri Ramliy, Jul 10, 2010
  2. 2/2 rebase -i: Preserve whitespace at beginning of commit header in $GIT_EDITORNazri Ramliy, Jul 10, 2010
  3. Nazri RamliyJul 10, 2010
  4. Junio C HamanoJul 12, 2010
  5. Nazri RamliyJul 13, 2010
  6. Junio C HamanoJul 13, 2010
  7. Nazri RamliyJul 13, 2010
  8. Junio C HamanoJul 12, 2010
  9. Nazri RamliyJul 13, 2010
  10. Jay SoffianJul 13, 2010
  11. Nazri RamliyJul 13, 2010
  12. Junio C HamanoJul 13, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.