Skip to content

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

Closed
mergify[bot] wants to merge 8 commits into2.24-maintenancefrom
mergify/bp/2.24-maintenance/pr-11330
Closed

libgit2, GitRepo: Write (thin) packfiles (backport #11330)#12803
mergify[bot] wants to merge 8 commits into2.24-maintenancefrom
mergify/bp/2.24-maintenance/pr-11330

Conversation

@mergify
Copy link
Copy Markdown
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
@mergify
Copy link
Copy Markdown
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
@roberth
Copy link
Copy Markdown
Member

roberth commented Apr 20, 2025

Could be done if there's interest.

@roberth roberth closed this Apr 20, 2025
@xokdvium xokdvium deleted the mergify/bp/2.24-maintenance/pr-11330 branch October 7, 2025 21:42
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