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

Re: git clean performance issues

From
Jeff King <peff@peff.net>
Date
Nov 13, 2015, 23:53 UTC
Message-ID
<20151113235334.GA18260@sigill.intra.peff.net>
In-Reply-To
<20151113141907.GB16219@inner.h.apk.li>
On Fri, Nov 13, 2015 at 03:19:07PM +0100, Andreas Krey wrote:
Show 15 quoted lines
> On Sat, 04 Apr 2015 15:55:07 +0000, Jeff King wrote:
> ...
> > I think this is the same issue that was discussed here:
> > 
> >   http://thread.gmane.org/gmane.comp.version-control.git/265560/focus&5585
> > 
> > There is some discussion of a possible fix in that thread. I was hoping
> > that Andreas was going to look further and produce a patch, but I
> > imagine he got busy with other things.
> 
> That about sums it up. However I now have a similar issue;
> git ls-files shows the same behaviour (takes relatively
> forever at 100% CPU), and runs instantly with my patch
> from back then. Nothing seems to have changed, so I
> may have another chance to look into this.

Yeah, I think Erik's patch in 0179ca7 (clean: improve performance when removing lots of directories, 2015-06-15) handles the git-clean case the way we want to, but all of the other calls to resolve_gitlink_ref need to be inspected and fixed similarly.

The one your are hitting with ls-files is probably in dir.c:treat_directory.
-Peff
Previous: Andreas Krey
Message 6 of 6 in “git clean performance issues”
  1. erik elfströmApr 4, 2015
  2. Jeff KingApr 4, 2015
  3. erik elfströmApr 4, 2015
  4. Jeff KingApr 4, 2015
  5. Andreas KreyNov 13, 2015
  6. Jeff KingNov 13, 2015

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.