* [PATCH] Support --threads arg for git-repack.
@ 2012-04-20 15:56 Louis Kruger
0 siblings, 0 replies; only message in thread
From: Louis Kruger @ 2012-04-20 15:56 UTC (permalink / raw)
To: git
This very simple patch adds a --threads argument for git-repack. It
simply forwards the argument to git-pack-objects.
---
Documentation/git-repack.txt | 11 +++++++++++
git-repack.sh | 3 ++-
2 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/Documentation/git-repack.txt b/Documentation/git-repack.txt
index 4c1aff6..be52789 100644
--- a/Documentation/git-repack.txt
+++ b/Documentation/git-repack.txt
@@ -10,6 +10,7 @@ SYNOPSIS
--------
[verse]
'git repack' [-a] [-A] [-d] [-f] [-F] [-l] [-n] [-q] [--window=<n>]
[--depth=<n>]
+ [--threads=<n>]
DESCRIPTION
-----------
@@ -92,6 +93,16 @@ other objects in that pack they already have locally.
to be applied that many times to get to the necessary object.
The default value for --window is 10 and --depth is 50.
+--threads=<n>::
+ Specifies the number of threads to spawn when searching for best
+ delta matches. This requires that pack-objects be compiled with
+ pthreads otherwise this option is ignored with a warning. This is
+ meant to reduce packing time on multiprocessor machines. The required
+ amount of memory for the delta search window is however multiplied
+ by the number of threads. Specifying 0 will cause git to auto-detect
+ `--threads=0` makes git auto-detect the number of threads to use,
+ which is the default.
+
--window-memory=<n>::
This option provides an additional limit on top of `--window`;
the window size will dynamically scale down so as to not take
diff --git a/git-repack.sh b/git-repack.sh
index 624feec..c8cf5cc 100755
--- a/git-repack.sh
+++ b/git-repack.sh
@@ -20,6 +20,7 @@ window= size of the window used for delta compression
window-memory= same as the above, but limit memory size instead of
entries count
depth= limits the maximum delta depth
max-pack-size= maximum size of each packfile
+threads= maximum number of threads
"
SUBDIRECTORY_OK='Yes'
. git-sh-setup
@@ -38,7 +39,7 @@ do
-f) no_reuse=--no-reuse-delta ;;
-F) no_reuse=--no-reuse-object ;;
-l) local=--local ;;
- --max-pack-size|--window|--window-memory|--depth)
+ --max-pack-size|--window|--window-memory|--depth|--threads)
extra="$extra $1=$2"; shift ;;
--) shift; break;;
*) usage ;;
--
1.7.7.3
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2012-04-20 15:56 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-20 15:56 [PATCH] Support --threads arg for git-repack Louis Kruger
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.