#466015 git-gui: Does not cope well with many untracked files

#466015#3
Date:
2008-02-15 22:43:57 UTC
From:
To:
I keep some of my home directory in Git.  However, I also have
thousands of untracked files in the parts of my home directory I don't
have in Git.  Most of Git now handles this fine, with no performance
problems.  However, git-gui seems to search for all untracked files on
startup, which makes it unusably slow.

Perhaps git-gui could only look in directories which correspond to
trees in the most recent commit, and could show other directories
without showing the files they contain, like the output of "git
status".  Selecting that directory could expand it one level further.

- Josh Triplett

#466015#10
Date:
2010-03-06 19:13:32 UTC
From:
To:
clone 466015 -1
retitle -1 gui: treat each untracked directory as a single unstaged change
severity -1 wishlist
thanks

Hi Josh,

Josh Triplett wrote:

Sorry for the long silence.

Two questions (I am mostly curious):

1. I take it ‘git status’ is fast enough?

2. What do you think of current git gui’s approach to this?  I tried out

 GIT_DIR=~/src/git/.git GIT_WORK_TREE=~/src/linux-2.6 git gui

and apparently it just shows the first 5000 untracked files and then
gives up. [1]  There was still a noticeable delay before I could use the
program, but it was at least not painful.

Good idea, cloning.  For reference, the last scripted version of
this part of ‘git status’ was v1.4.3-rc1~84^2~4:git-commit.sh,
which used ‘git ls-files --other --directory --no-empty-directory’.

Thanks for the report,
Jonathan

[1] See commit dd6451f9 (git-gui: Limit display to a maximum number of
files, 2009-08-11).

#466015#17
Date:
2010-03-06 20:24:19 UTC
From:
To:
No problem.

~$ time git status > /dev/null

real    0m0.013s
user    0m0.008s
sys     0m0.004s

Yeah, I'd say so. :)

Looks like current git gui reaches 5000 files reasonably quickly, and
then gives up.  That makes it no longer unusably slow, but of course
only showing about 1/6th of my home directory still makes it unhelpful,
and a linear list of 5000 files doesn't seem useful.

- Josh Triplett

#466015#22
Date:
2010-03-07 04:22:03 UTC
From:
To:
Josh Triplett wrote:

Thanks for the quick response.  This makes a lot of sense, and
probably the way to go will use widgets something like the treeview in
gitk.

Regards,
Jonathan

#466015#33
Date:
2010-06-13 12:21:44 UTC
From:
To:
package git-gui
tags 466015 + upstream
forwarded 466015 http://thread.gmane.org/gmane.comp.version-control.git/146855
unblock 466015 by 572805
forcemerge 466015 572805
quit

Yep.