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

Re: [PATCHv3 00/16] bash prompt speedup

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 24, 2013, 19:25 UTC
Message-ID
<7vzjuf71lq.fsf@alter.siamese.dyndns.org>
In-Reply-To
<1372091966-19315-1-git-send-email-szeder@ira.uka.de>
SZEDER Gábor <szeder@ira.uka.de> writes:
Show 40 quoted lines
> Hi,
>
> displaying the git-specific bash prompt on Windows/MinGW takes quite
> long, long enough to be noticeable.  This is mainly caused by the
> numerous fork()s and exec()s to create subshells and run git or other
> commands, which are rather expensive on Windows.
>
> This patch series eliminates many command substitutions and command
> executions in __git_ps1() from top to bottom by replacing them with
> bash builtins or consolidating them.  A few timing results are shown
> in the log message of the last patch.
>
> Changes since v2 [1]:
>
>  - The detached HEAD abbreviated object name is now unique and
>    respects core.abbrev; see patches 5 and 11, replacing v2's patch 9.
>    (This is why I asked the detached HEAD before root commit thing
>    yesterday.)  
>  - Patches 12 and 16 are new.
>  - Incorporated Peff's suggestion about using the 'write_script'
>    helper into patch 2.
>  - Incorporated Eric's typofix.
>  - Rephrased a few commit messages.
>
> It applies on top of current master; 2847cae8 (prompt: squelch error
> output from cat, 2013-06-14) graduated recently.
>
> This patch series will conflict with Eduardo's work on refactoring the
> colorizing function, and the conflict is not trivial.  Although there
> are still some open questions left with that series (using tput, zsh
> tests), those won't affect the conflicts between the two patch series.
> So, for the convenience of our maintainer, I picked up Eduardo's
> series, took the liberty to apply a fixup commit on top with my
> suggestions from [2], merged the two series, and published the result
> at:
>
>   https://github.com/szeder/git.git bash-prompt-speedup-and-color-refactorization
>
> Eduardo, could you please also check that my conflict resolution is
> correct?  Thanks.

Well, then I'll fetch that premerged result and queue it on 'pu', wait for a while just in case if you need to reroll based on somebody else's input and otherwise merge that down to 'next' and then to 'master'.

Thanks.
Previous: SZEDER GáborNext: Eduardo R. D'Avila
Message 18 of 19 in “[PATCHv3 00/16] bash prompt speedup”
  1. SZEDER GáborJun 24, 2013
  2. 01/16 bash prompt: fix redirection coding style in testsSZEDER Gábor, Jun 24, 2013
  3. 02/16 bash prompt: use 'write_script' helper in interactive rebase testSZEDER Gábor, Jun 24, 2013
  4. 03/16 completion, bash prompt: move __gitdir() tests to completion test suiteSZEDER Gábor, Jun 24, 2013
  5. 04/16 bash prompt: add a test for symbolic link symbolic refsSZEDER Gábor, Jun 24, 2013
  6. 05/16 bash prompt: print unique detached HEAD abbreviated object nameSZEDER Gábor, Jun 24, 2013
  7. 06/16 bash prompt: return early from __git_ps1() when not in a git repositorySZEDER Gábor, Jun 24, 2013
  8. 07/16 bash prompt: run 'git rev-parse --git-dir' directly instead of __gitdir()SZEDER Gábor, Jun 24, 2013
  9. 08/16 bash prompt: use bash builtins to find out rebase stateSZEDER Gábor, Jun 24, 2013
  10. 09/16 bash prompt: use bash builtins to find out current branchSZEDER Gábor, Jun 24, 2013
  11. 10/16 bash prompt: combine 'git rev-parse' executions in the main code pathSZEDER Gábor, Jun 24, 2013
  12. 11/16 bash prompt: combine 'git rev-parse' for detached headSZEDER Gábor, Jun 24, 2013
  13. 12/16 bash prompt: use bash builtins to check for unborn branch for dirty stateSZEDER Gábor, Jun 24, 2013
  14. 13/16 bash prompt: use bash builtins to check stash stateSZEDER Gábor, Jun 24, 2013
  15. 14/16 bash prompt: avoid command substitution when checking for untracked filesSZEDER Gábor, Jun 24, 2013
  16. 15/16 bash prompt: avoid command substitution when finalizing gitstringSZEDER Gábor, Jun 24, 2013
  17. 16/16 bash prompt: mention that PROMPT_COMMAND mode is fasterSZEDER Gábor, Jun 24, 2013
  18. Junio C HamanoJun 24, 2013
  19. Eduardo R. D'AvilaJun 25, 2013

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.