summaryrefslogtreecommitdiff
path: root/libre/pacman/0001-makepkg-Pass-stream-to-hg-clone-when-creating-the-wo.patch
diff options
context:
space:
mode:
Diffstat (limited to 'libre/pacman/0001-makepkg-Pass-stream-to-hg-clone-when-creating-the-wo.patch')
-rw-r--r--libre/pacman/0001-makepkg-Pass-stream-to-hg-clone-when-creating-the-wo.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/libre/pacman/0001-makepkg-Pass-stream-to-hg-clone-when-creating-the-wo.patch b/libre/pacman/0001-makepkg-Pass-stream-to-hg-clone-when-creating-the-wo.patch
new file mode 100644
index 000000000..e666299ff
--- /dev/null
+++ b/libre/pacman/0001-makepkg-Pass-stream-to-hg-clone-when-creating-the-wo.patch
@@ -0,0 +1,38 @@
+From 59e20edc16b7f13c3d753ac3a28358c467e32965 Mon Sep 17 00:00:00 2001
+From: Luke Shumaker <lukeshu@parabola.nu>
+Date: Mon, 27 Aug 2018 16:41:29 -0400
+Subject: [PATCH] makepkg: Pass --stream to `hg clone` when creating the
+ working copy
+
+Without --stream, `hg clone` reencodes+recompresses the entire repository,
+to the storage settings of the host. But download_hg() already did that
+on the initial network clone, and it is 100% pointless duplicated work for
+the local clone.
+
+The work that this saves is CPU-bound (not disk-bound), and is restricted
+to a single core.
+
+The --stream flag has only existed since Mercurial 4.4 (2017-11-01). Prior
+to that, it was named --uncompressed. --uncompressed still exists as a
+compatibility alias for --stream, and marked deprecated, though there is
+currently no schedule for its removal.
+---
+ scripts/libmakepkg/source/hg.sh.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/scripts/libmakepkg/source/hg.sh.in b/scripts/libmakepkg/source/hg.sh.in
+index ae9aed3b..7346e1e3 100644
+--- a/scripts/libmakepkg/source/hg.sh.in
++++ b/scripts/libmakepkg/source/hg.sh.in
+@@ -94,7 +94,7 @@ extract_hg() {
+ plain "$(gettext "Aborting...")"
+ exit 1
+ fi
+- elif ! hg clone -u "$ref" "$dir" "${dir##*/}"; then
++ elif ! hg clone -u "$ref" --stream "$dir" "${dir##*/}"; then
+ error "$(gettext "Failure while creating working copy of %s %s repo")" "${repo}" "hg"
+ plain "$(gettext "Aborting...")"
+ exit 1
+--
+2.18.0
+