Skip to content

libgit2, GitRepo: Write (thin) packfiles (backport #11330) #12803

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: 2.24-maintenance
Choose a base branch
from

Conversation

mergify[bot]
Copy link
Contributor

@mergify mergify bot commented Mar 29, 2025

Motivation

This improves performance on systems with weak I/O in ~/.cache, especially in terms of operations per second, or where system calls are slower. (macOS, VMs?)

May address

Context

TODO

  • measurements:
    • faster on emilazy's machine
    • similar on 2019 high end linux laptop with ZFS on NVMe
    • ...?
  • review memory management
  • packfile threads setting?
  • make it interruptible

Priorities and Process

Add 👍 to pull requests you find important.

The Nix maintainer team uses a GitHub project board to schedule and track reviews.


This is an automatic backport of pull request #11330 done by [Mergify](https://mergify.com).

roberth added 8 commits March 29, 2025 18:23
libgit2 didn't write thin ones, hence the patch.

This should improve performance on systems with weak I/O in ~/.cache,
especially in terms of operations per second, or where system calls
are slower. (macOS, VMs?)

(cherry picked from commit 5dd6c4f)

# Conflicts:
#	packaging/dependencies.nix
#	src/libfetchers/git-utils.cc
The latter is not used for memory synchronization things.

(cherry picked from commit fb8d3ed)
(cherry picked from commit 57c4830)
(cherry picked from commit c1fe354)

# Conflicts:
#	packaging/dependencies.nix
(cherry picked from commit 976f539)

# Conflicts:
#	src/libfetchers/git-utils.cc
(cherry picked from commit 459d026)
@mergify mergify bot requested a review from edolstra as a code owner March 29, 2025 18:23
@mergify mergify bot added automatic backport This PR is a backport produced by automation (does not trigger backporting) conflicts merge-queue labels Mar 29, 2025
Copy link
Contributor Author

mergify bot commented Mar 29, 2025

Cherry-pick of 5dd6c4f has failed:

On branch mergify/bp/2.24-maintenance/pr-11330
Your branch is up to date with 'origin/2.24-maintenance'.

You are currently cherry-picking commit 5dd6c4f06.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Changes to be committed:
	new file:   packaging/patches/libgit2-mempack-thin-packfile.patch
	modified:   src/libfetchers/git-utils.hh

Unmerged paths:
  (use "git add <file>..." to mark resolution)
	both modified:   packaging/dependencies.nix
	both modified:   src/libfetchers/git-utils.cc

Cherry-pick of c1fe354 has failed:

On branch mergify/bp/2.24-maintenance/pr-11330
Your branch is ahead of 'origin/2.24-maintenance' by 5 commits.
  (use "git push" to publish your local commits)

You are currently cherry-picking commit c1fe3546e.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Changes to be committed:
	new file:   packaging/patches/libgit2-packbuilder-callback-interruptible.patch

Unmerged paths:
  (use "git add <file>..." to mark resolution)
	both modified:   packaging/dependencies.nix

Cherry-pick of 976f539 has failed:

On branch mergify/bp/2.24-maintenance/pr-11330
Your branch is ahead of 'origin/2.24-maintenance' by 6 commits.
  (use "git push" to publish your local commits)

You are currently cherry-picking commit 976f539f7.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Unmerged paths:
  (use "git add <file>..." to mark resolution)
	both modified:   src/libfetchers/git-utils.cc

no changes added to commit (use "git add" and/or "git commit -a")

To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally

@github-actions github-actions bot added the fetching Networking with the outside (non-Nix) world, input locking label Mar 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
automatic backport This PR is a backport produced by automation (does not trigger backporting) conflicts fetching Networking with the outside (non-Nix) world, input locking merge-queue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant