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

Re: [PATCH 1/3] git-bisect: war on "sed"

From
Andreas Ericsson <ae@op5.se>
Date
Nov 15, 2007, 10:06 UTC
Message-ID
<473C1A29.2010703@op5.se>
In-Reply-To
<buotznnesw9.fsf@dhapc248.dev.necel.com>
Miles Bader wrote:
Show 14 quoted lines
> Wincent Colaiuta <win@wincent.com> writes:
>> the shorter form without sed is arguably more readable:
>>
>> -		echo "$head" | sed 's#^refs/heads/##' >"$GIT_DIR/head-name"
>> +		echo "${head#refs/heads/}" >"$GIT_DIR/head-name"
> 
> Er, I suppose -- if you are acquainted with that particular shell
> variable syntax (I suspect knowledge of sed is far more widespread).
> 
> [personally, I know that syntax has something to do with replacing
> something with something else, but really haven't much clue other than
> that, and I always _thought_ it was bash-specific and so avoided using
> any of that stuff.]
> 

It says "remove refs/heads/ from the beginning of the string pointed to by $head".

It's not a bashism. Some extensions to that syntax are though (I think). If you want to be sure of portability, use sed instead. git uses this syntax often enough that it's worth using everywhere, but usually only in porcelain commands which one can relatively safely assume are run on at least decently up-to-date developer workstations.

You'll note that stuff that absolutely *has* to reside server-side are entirely in C.

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231
Previous: Miles BaderNext: David Kastrup
Message 12 of 18 in “Bisect reset: remove bisect refs that may have been packed.”
  1. Bisect reset: remove bisect refs that may have been packed.Christian Couder, Nov 15, 2007
  2. Junio C HamanoNov 15, 2007
  3. Johannes SixtNov 15, 2007
  4. Shawn O. PearceNov 15, 2007
  5. Jeff KingNov 15, 2007
  6. Johannes SchindelinNov 15, 2007
  7. Junio C HamanoNov 15, 2007
  8. 1/3 git-bisect: war on "sed"Junio C Hamano, Nov 15, 2007
  9. Miles BaderNov 15, 2007
  10. Wincent ColaiutaNov 15, 2007
  11. Miles BaderNov 15, 2007
  12. Andreas EricssonNov 15, 2007
  13. David KastrupNov 15, 2007
  14. 2/3 git-bisect: use update-ref to mark good/bad commitsJunio C Hamano, Nov 15, 2007
  15. 3/3 git-bisect: modernize branch shuffling hackJunio C Hamano, Nov 15, 2007
  16. Miles BaderNov 15, 2007
  17. David KastrupNov 15, 2007
  18. Miles BaderNov 15, 2007

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.