git@vger.kernel.org list mirror (unofficial, one of many)
 help / color / mirror / code / Atom feed
* git-gui: How to configure for use in gigantic projects?
@ 2020-10-30 10:16 Birger Skogeng Pedersen
  2020-10-30 10:30 ` Konstantin Tokarev
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Birger Skogeng Pedersen @ 2020-10-30 10:16 UTC (permalink / raw)
  To: Git List

Hi,

I would like to use git gui for a project. The problem is that the
repository directory is really gigantic. Doing a scan (F5) takes a
couple of minutes to finish.

I would like the scan to only focus on files that are specifically
added to the index. In git I do this:

git config status.showUntrackedFiles no

git status will then only show status of files that I have
specifically added. So git status completion is instant.

But this configuration appears to have no effect on git-gui. The scan
is just as slow as before.

Anything I can do to make git-gui only scan files that are
specifically added, and not look through the whole directory?

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: git-gui: How to configure for use in gigantic projects?
  2020-10-30 10:16 git-gui: How to configure for use in gigantic projects? Birger Skogeng Pedersen
@ 2020-10-30 10:30 ` Konstantin Tokarev
  2020-10-30 10:58 ` Pratyush Yadav
  2020-10-30 14:06 ` Marc Branchaud
  2 siblings, 0 replies; 5+ messages in thread
From: Konstantin Tokarev @ 2020-10-30 10:30 UTC (permalink / raw)
  To: Birger Skogeng Pedersen, Git List



30.10.2020, 13:16, "Birger Skogeng Pedersen" <birger.sp@gmail.com>:
> Hi,
>
> I would like to use git gui for a project. The problem is that the
> repository directory is really gigantic. Doing a scan (F5) takes a
> couple of minutes to finish.
>
> I would like the scan to only focus on files that are specifically
> added to the index. In git I do this:
>
> git config status.showUntrackedFiles no
>
> git status will then only show status of files that I have
> specifically added. So git status completion is instant.
>
> But this configuration appears to have no effect on git-gui. The scan
> is just as slow as before.
>
> Anything I can do to make git-gui only scan files that are
> specifically added, and not look through the whole directory?

FWIW, there are better ways to improve performance of git status without
hiding untracked files (which are useful to see when new files are added):

* Add all uninteresting files and directories to .gitignore
* Use fast storage for git repository, e.g. NVME-based
* If your OS can handle filesystem cache efficiently (e.g., Linux) make sure 
there is enough of free RAM for caches and all repeated operations on
same files and directories will speed up dramatically
* If your OS cannot handle filesystem cache efficiently (e.g. Windows) consider
using different OS for development
* If overall performance is still not sufficient, consider using fsmonitor hook [1]

[1] https://github.blog/2018-04-05-git-217-released/#speeding-up-status-with-watchman



-- 
Regards,
Konstantin

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: git-gui: How to configure for use in gigantic projects?
  2020-10-30 10:16 git-gui: How to configure for use in gigantic projects? Birger Skogeng Pedersen
  2020-10-30 10:30 ` Konstantin Tokarev
@ 2020-10-30 10:58 ` Pratyush Yadav
  2020-10-30 11:11   ` Birger Skogeng Pedersen
  2020-10-30 14:06 ` Marc Branchaud
  2 siblings, 1 reply; 5+ messages in thread
From: Pratyush Yadav @ 2020-10-30 10:58 UTC (permalink / raw)
  To: Birger Skogeng Pedersen; +Cc: Git List

Hi Birger,

On 30/10/20 11:16AM, Birger Skogeng Pedersen wrote:
> Hi,
> 
> I would like to use git gui for a project. The problem is that the
> repository directory is really gigantic. Doing a scan (F5) takes a
> couple of minutes to finish.
> 
> I would like the scan to only focus on files that are specifically
> added to the index. In git I do this:
> 
> git config status.showUntrackedFiles no
> 
> git status will then only show status of files that I have
> specifically added. So git status completion is instant.
> 
> But this configuration appears to have no effect on git-gui. The scan
> is just as slow as before.
> 
> Anything I can do to make git-gui only scan files that are
> specifically added, and not look through the whole directory?

Uncheck "Show untracked files" in options. It is controlled by the 
config 'gui.displayuntracked'.

-- 
Regards,
Pratyush Yadav

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: git-gui: How to configure for use in gigantic projects?
  2020-10-30 10:58 ` Pratyush Yadav
@ 2020-10-30 11:11   ` Birger Skogeng Pedersen
  0 siblings, 0 replies; 5+ messages in thread
From: Birger Skogeng Pedersen @ 2020-10-30 11:11 UTC (permalink / raw)
  To: Pratyush Yadav; +Cc: Git List

Ah, that one changed everything! Thank you Pratyush!

On Fri, Oct 30, 2020 at 11:59 AM Pratyush Yadav <me@yadavpratyush.com> wrote:
>
> Hi Birger,
>
> On 30/10/20 11:16AM, Birger Skogeng Pedersen wrote:
> > Hi,
> >
> > I would like to use git gui for a project. The problem is that the
> > repository directory is really gigantic. Doing a scan (F5) takes a
> > couple of minutes to finish.
> >
> > I would like the scan to only focus on files that are specifically
> > added to the index. In git I do this:
> >
> > git config status.showUntrackedFiles no
> >
> > git status will then only show status of files that I have
> > specifically added. So git status completion is instant.
> >
> > But this configuration appears to have no effect on git-gui. The scan
> > is just as slow as before.
> >
> > Anything I can do to make git-gui only scan files that are
> > specifically added, and not look through the whole directory?
>
> Uncheck "Show untracked files" in options. It is controlled by the
> config 'gui.displayuntracked'.
>
> --
> Regards,
> Pratyush Yadav

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: git-gui: How to configure for use in gigantic projects?
  2020-10-30 10:16 git-gui: How to configure for use in gigantic projects? Birger Skogeng Pedersen
  2020-10-30 10:30 ` Konstantin Tokarev
  2020-10-30 10:58 ` Pratyush Yadav
@ 2020-10-30 14:06 ` Marc Branchaud
  2 siblings, 0 replies; 5+ messages in thread
From: Marc Branchaud @ 2020-10-30 14:06 UTC (permalink / raw)
  To: Birger Skogeng Pedersen, Git List

On 2020-10-30 6:16 a.m., Birger Skogeng Pedersen wrote:
> Hi,
> 
> I would like to use git gui for a project. The problem is that the
> repository directory is really gigantic. Doing a scan (F5) takes a
> couple of minutes to finish.

I've found that enabling Trust File Modification Time helps, at the cost 
of git-gui doing (very) occasional rescans when it notices that a file 
it thought was modified turns out to be unmodified.  As Konstantin said, 
things generally improve once the initial scan primes the disk cache.  YMMV.

The setting is in the Preferences, or "git config gui.trustmtime true".

		M.


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-10-30 14:07 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-30 10:16 git-gui: How to configure for use in gigantic projects? Birger Skogeng Pedersen
2020-10-30 10:30 ` Konstantin Tokarev
2020-10-30 10:58 ` Pratyush Yadav
2020-10-30 11:11   ` Birger Skogeng Pedersen
2020-10-30 14:06 ` Marc Branchaud

git@vger.kernel.org list mirror (unofficial, one of many)

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://public-inbox.org/git
	git clone --mirror http://ou63pmih66umazou.onion/git
	git clone --mirror http://czquwvybam4bgbro.onion/git
	git clone --mirror http://hjrcffqmbrq6wope.onion/git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 git git/ https://public-inbox.org/git \
		git@vger.kernel.org
	public-inbox-index git

Example config snippet for mirrors.
Newsgroups are available over NNTP:
	nntp://news.public-inbox.org/inbox.comp.version-control.git
	nntp://7fh6tueqddpjyxjmgtdiueylzoqt6pt7hec3pukyptlmohoowvhde4yd.onion/inbox.comp.version-control.git
	nntp://ie5yzdi7fg72h7s4sdcztq5evakq23rdt33mfyfcddc5u3ndnw24ogqd.onion/inbox.comp.version-control.git
	nntp://4uok3hntl7oi7b4uf4rtfwefqeexfzil2w6kgk2jn5z2f764irre7byd.onion/inbox.comp.version-control.git
	nntp://news.gmane.io/gmane.comp.version-control.git
 note: .onion URLs require Tor: https://www.torproject.org/

code repositories for project(s) associated with this inbox:

	https://80x24.org/mirrors/git.git

AGPL code for this site: git clone https://public-inbox.org/public-inbox.git