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

Antw: Re: Terrible bad performance for it blame --date=iso -C

From
UWUlrich Windl <ulrich.windl@rz.uni-regensburg.de>
Date
Apr 4, 2017, 06:23 UTC
Message-ID
<58E33BC4020000A100025797@gwsmtp1.uni-regensburg.de>
In-Reply-To
<0ccc5cab-26b7-4b02-b964-452b61e92579@gmail.com>
>>> Jakub Narebski <jnareb@gmail.com> schrieb am 03.04.2017 um 17:16 in

Nachricht <0ccc5cab-26b7-4b02-b964-452b61e92579@gmail.com>:

Show 33 quoted lines
> W dniu 03.04.2017 o 12:56, SZEDER Gábor pisze:
>> Ulrich Windl wrote:
> 
>>> In the other case (for the user bored of waiting seeking for some
>>> entertainment ;-)) a "-v (verbose) option could be useful.  Or at the
>>> very least: If git is expecting that some operation will take (or
>>> already did take) a lot of time, give some message explaining why it
>>> is taking a lot of time, and maybe how to avoid that.
>> 
>> It already does so by default since v2.8.0, see aba37f495 (blame: add
>> support for --[no-]progress option, 2015-12-12).
>> 
>>   $ time git blame sha1_file.c |wc -l
>>   4026
>>   
>>   real    0m1.744s
>>   user    0m1.672s
>>   sys     0m0.068s
>>   $ time git blame -C -C sha1_file.c |wc -l
>>   Blaming lines: 100% (4026/4026), done.
>>   4026
>>   
>>   real    0m3.832s
>>   user    0m3.716s
>>   sys     0m0.112s
>> 
>> However, after a short peek at that commit, it only displays progress
>> by default when stderr is a terminal, which might not be the case when
>> invoked from emacs.
> 
> Emacs (magit?) should use `git blame --porcelain`, and do its own
> progress report, just like 'git gui blame' and incremental blame mode
> of gitweb.

I was thinking similar: The pain vc-annotate obviously should work without those "-C" options, and with prefix argument (C-u <num> in Emacs) it could start looking for copied stuff. HMO...

Worse than no progress reporting is the inability to kill the process (if you run out of patience) with C-g (that stops most commands in Emacs).

> 
> Actually... there already is git-blamed - Minor mode for incremental
> blame for Git, and mo-git-blame - An interactive, iterative 'git blame'
> mode for Emacs, both available on ELPA (Emacs Lisp Package Archive).

I confess taht is still use RCS from time to time, and I prefer the higher-level Emacs commands ;-)

Regards, Ulrich

Previous: Jakub NarębskiNext: Samuel Lijin
Message 7 of 11 in “Terrible bad performance for it blame --date=iso -C -C master -- <file>”
  1. Ulrich WindlMar 31, 2017
  2. Junio C HamanoMar 31, 2017
  3. Samuel LijinMar 31, 2017
  4. Antw: Re: Terrible bad performance for it blame --date=iso -C -C master -- <file>Ulrich Windl, Apr 3, 2017
  5. SZEDER GáborApr 3, 2017
  6. Jakub NarębskiApr 3, 2017
  7. Antw: Re: Terrible bad performance for it blame --date=iso -CUlrich Windl, Apr 4, 2017
  8. Samuel LijinMay 1, 2017
  9. Junio C HamanoMay 2, 2017
  10. Samuel LijinMay 3, 2017
  11. Antw: Re: Terrible bad performance for it blame --date=iso -C -C master -- <file>Ulrich Windl, May 3, 2017

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.