Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Cyborg)
  • No Skin
Collapse
Brand Logo

CIRCLE WITH A DOT

  1. Home
  2. Uncategorized
  3. does anyone use Forgejo and have issues with larger repositories?

does anyone use Forgejo and have issues with larger repositories?

Scheduled Pinned Locked Moved Uncategorized
forgejofreebsd
5 Posts 3 Posters 2 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • lw@mastodon.bsd.cafeL This user is from outside of this forum
    lw@mastodon.bsd.cafeL This user is from outside of this forum
    lw@mastodon.bsd.cafe
    wrote last edited by
    #1

    does anyone use Forgejo and have issues with larger repositories? i a local copy of FreeBSD's ports.git (1.8GB on disk) where a normal 'git pull' from poudriere takes ~10 minutes, which doesn't seem right.

    this is on an 8-core server with 2 mirrored SSDs, but the pull seems blocked on a single-threaded, CPU-bound git command: /usr/local/libexec/git-core/git --shallow-file pack-objects --revs --thin --stdout --shallow --delta-base-offset --include-tag

    do i need to 'optimise' the repo somehow or what am i missing here? because i don't think this behaviour is normal or expected.

    #forgejo #freebsd

    lattera@bsd.networkL 1 Reply Last reply
    1
    0
    • lw@mastodon.bsd.cafeL lw@mastodon.bsd.cafe

      does anyone use Forgejo and have issues with larger repositories? i a local copy of FreeBSD's ports.git (1.8GB on disk) where a normal 'git pull' from poudriere takes ~10 minutes, which doesn't seem right.

      this is on an 8-core server with 2 mirrored SSDs, but the pull seems blocked on a single-threaded, CPU-bound git command: /usr/local/libexec/git-core/git --shallow-file pack-objects --revs --thin --stdout --shallow --delta-base-offset --include-tag

      do i need to 'optimise' the repo somehow or what am i missing here? because i don't think this behaviour is normal or expected.

      #forgejo #freebsd

      lattera@bsd.networkL This user is from outside of this forum
      lattera@bsd.networkL This user is from outside of this forum
      lattera@bsd.network
      wrote last edited by
      #2

      @lw Pre-Forgejo, the #HardenedBSD project tried for a while to use #Gitea. But that fell over sideways with src and ports, especially with scraper bots continuously looking up each and every commit.

      At the time, the problem stemmed from the fact that the #golang git package that everyone uses will load the entire repo history just to look up a single commit.

      Rinse and repeat for thousands of hits per second, and kaboom!

      HardenedBSD currently uses a self-hosted #GitLab Enterprise instance. We're hoping to eventually migrate to #Radicle.

      lw@mastodon.bsd.cafeL 1 Reply Last reply
      0
      • lattera@bsd.networkL lattera@bsd.network

        @lw Pre-Forgejo, the #HardenedBSD project tried for a while to use #Gitea. But that fell over sideways with src and ports, especially with scraper bots continuously looking up each and every commit.

        At the time, the problem stemmed from the fact that the #golang git package that everyone uses will load the entire repo history just to look up a single commit.

        Rinse and repeat for thousands of hits per second, and kaboom!

        HardenedBSD currently uses a self-hosted #GitLab Enterprise instance. We're hoping to eventually migrate to #Radicle.

        lw@mastodon.bsd.cafeL This user is from outside of this forum
        lw@mastodon.bsd.cafeL This user is from outside of this forum
        lw@mastodon.bsd.cafe
        wrote last edited by
        #3

        @lattera i did wonder if it was perhaps looking at the entire history to decide what to send to the client... maybe related to the fact that poudriere does a shallow clone by default?

        this also only seems to affect HTTP pulls, i haven't had any issues with git over SSH.

        lattera@bsd.networkL gnomon@mastodon.socialG 2 Replies Last reply
        0
        • lw@mastodon.bsd.cafeL lw@mastodon.bsd.cafe

          @lattera i did wonder if it was perhaps looking at the entire history to decide what to send to the client... maybe related to the fact that poudriere does a shallow clone by default?

          this also only seems to affect HTTP pulls, i haven't had any issues with git over SSH.

          lattera@bsd.networkL This user is from outside of this forum
          lattera@bsd.networkL This user is from outside of this forum
          lattera@bsd.network
          wrote last edited by
          #4

          @lw ah, yeah, for poudriere, I usually pass in the -D option to do a full clone when creating jails or ports.

          1 Reply Last reply
          0
          • lw@mastodon.bsd.cafeL lw@mastodon.bsd.cafe

            @lattera i did wonder if it was perhaps looking at the entire history to decide what to send to the client... maybe related to the fact that poudriere does a shallow clone by default?

            this also only seems to affect HTTP pulls, i haven't had any issues with git over SSH.

            gnomon@mastodon.socialG This user is from outside of this forum
            gnomon@mastodon.socialG This user is from outside of this forum
            gnomon@mastodon.social
            wrote last edited by
            #5

            @lw @lattera shallow clones are quite a bit more expensive to compute than full clones (e.g. ¹). Homebrew was directly asked by GitHub to stop using shallow clones because of the load this created². However I don't know of any reason why SSH clones should be speedy while HTTPS ones are slow, that's quite odd and possibly a clue.

            Do you happen to have any more verbose logs? E.g. with GIT_TRACE=1 or ³?

            ¹: https://github.blog/open-source/git/counting-objects/

            ²: https://github.com/Homebrew/brew/pull/9383

            ³: https://git-scm.com/docs/api-trace2

            1 Reply Last reply
            0
            • stefano@mastodon.bsd.cafeS stefano@mastodon.bsd.cafe shared this topic
            Reply
            • Reply as topic
            Log in to reply
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes


            • Login

            • Login or register to search.
            • First post
              Last post
            0
            • Categories
            • Recent
            • Tags
            • Popular
            • World
            • Users
            • Groups