54 lines
1.8 KiB
Diff
54 lines
1.8 KiB
Diff
From ecc173230584327d74ea2d8899fec30d6ce6340c 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/7] 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.11.0
|