summarylogtreecommitdiffstats
path: root/0004-aurfetch-specify-git-work-tree-git-dir-274.patch
diff options
context:
space:
mode:
Diffstat (limited to '0004-aurfetch-specify-git-work-tree-git-dir-274.patch')
-rw-r--r--0004-aurfetch-specify-git-work-tree-git-dir-274.patch54
1 files changed, 54 insertions, 0 deletions
diff --git a/0004-aurfetch-specify-git-work-tree-git-dir-274.patch b/0004-aurfetch-specify-git-work-tree-git-dir-274.patch
new file mode 100644
index 00000000000..5d26322836b
--- /dev/null
+++ b/0004-aurfetch-specify-git-work-tree-git-dir-274.patch
@@ -0,0 +1,54 @@
+From c57c6b90bf62510d774215abd9f4f816c4d8b789 Mon Sep 17 00:00:00 2001
+From: Alad Wenter <AladW@users.noreply.github.com>
+Date: Mon, 22 Jan 2018 16:16:16 +0100
+Subject: [PATCH 4/4] aurfetch: specify git work-tree/git-dir (#274)
+
+Avoid "Stopping at filesystem boundary" issues with different file
+systems.
+---
+ bin/aurfetch | 21 +++++++++++----------
+ 1 file changed, 11 insertions(+), 10 deletions(-)
+
+diff --git a/bin/aurfetch b/bin/aurfetch
+index 95c49c3..0a79287 100755
+--- a/bin/aurfetch
++++ b/bin/aurfetch
+@@ -8,24 +8,25 @@ declare -i aurball=0
+ declare logdir=/dev/null
+
+ clone() {
+- declare -r logdir=$1 startdir=$PWD
++ declare -r logdir=$1
+
+ while IFS= read -r; do
++ # Avoid issues with exotic file system layouts (#274)
++ git_wrap() { git --work-tree="$REPLY" --git-dir="$REPLY"/.git "$@"; }
++
+ if [[ -d $REPLY/.git ]]; then
+- cd_safe "$REPLY"
++ # returns 0 even if nothing was fetched
++ git_wrap fetch -v
+
+- git fetch -v # returns 0 even if nothing was fetched
+-
+- if [[ $(git rev-parse HEAD) != $(git rev-parse '@{upstream}') ]]; then
++ if [[ $(git_wrap rev-parse HEAD) != $(git_wrap rev-parse '@{upstream}') ]]; then
+ if [[ -d $logdir ]]; then
+- git --no-pager log --patch --stat '..@{upstream}' >> "$logdir/$REPLY".patch
++ git_wrap --no-pager log --patch --stat '..@{upstream}' \
++ >> "$logdir/$REPLY".patch
+ fi
+
+- git reset --hard HEAD
+- git merge
++ git_wrap reset --hard HEAD
++ git_wrap merge
+ fi
+-
+- cd_safe "$startdir"
+ else
+ git clone "$aurweb/$REPLY".git
+ fi
+--
+2.16.1
+