Skip to content
GitLab
    • GitLab: the DevOps platform
    • Explore GitLab
    • Install GitLab
    • How GitLab compares
    • Get started
    • GitLab docs
    • GitLab Learn
  • Pricing
  • Talk to an expert
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
    Projects Groups Topics Snippets
  • Register
  • Sign in
  • TortoiseGit TortoiseGit
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
    • Locked files
  • Issues 380
    • Issues 380
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 16
    • Merge requests 16
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test cases
  • Deployments
    • Deployments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • TortoiseGitTortoiseGit
  • TortoiseGitTortoiseGit
  • Issues
  • #2567
Closed
Open
Issue created Aug 24, 2015 by Gavin Lambert@uecasm

Log performance slow on huge repository

Abstract

TortoiseGit 1.8.14.0, 1.8.15.0

Happened on a ~17GB repository with 27K commits.

Looks like some big files in the history of that repo and the repo is packed.

Thus, loading the diff information from pack file is heavy.

Workaround

Use something like git repack -a --max-pack-size=1g which mentioned by user, see this comment.

Suppose unpack also helps.

These configs on server side might be helpful on daily work(for pushing/pulling, to prevent big file packed):

  • delta off
  • core.compression
  • core.bigFileThreshold
  • pack.packSizeLimit

Possible Moving

  • Add an advanced settings NoDiffIfNoAction which disable doing diff when action column is not shown.
  • Refer to some idea from git-lfs and hack more git code, to improve our libgit.

Original Report

TortoiseGit 1.8.14.0

While using the log is reasonably snappy on a repository containing about 4k revisions, using it on one(~17GB) containing about 27k revisions is a lot more painful.

It does get a little better over time (presumably something is being cached) and the worst case is definitely when first opening it after being cloned, but even on subsequent use there is visible hitching in the UI response times when scrolling or even when idle. (Admittedly that 4k-revisions one above has been in use for a while so some of its speed may be a cache illusion.)

Perhaps it should limit how much history is fetched, similar to TSVN (which defaults to the most recent 100 commits, though perhaps TGit could go a little higher).
(Yue Lin Ho: This has been done in 1.8.15.0)

Most of the time people are only interested in the recent history, and as long as they can request more as needed it should be sufficient.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking