Can't update to 4.1.1

Expected Behaviour:

entered the following pihole -up to try and update to the newest version.

Actual Behaviour:

[i] Checking for updates...
[i] Pi-hole Core: update available
[i] Web Interface: update available
[i] FTL: update available

[i] Pi-hole core files out of date, updating local repo.
[✓] Check for existing repository in /etc/.pihole
[i] Update repo in /etc/.pihole...
: Could not update local repository. Contact support.

Debug Token:

sa8yhrf6a4

What is the output of these commands?

cd /etc/.pihole
git status

This is what I get
Your branch is behind 'origin/master' by 51 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
nothing to commit, working tree clean

Run these commands:

cd /etc/.pihole
sudo git pull
pihole -r # Choose repair
pihole -up

pi@raspberrypi:/etc/.pihole $ sudo git pull
Updating 8d85d46..ba1e94d
pi@raspberrypi:/etc/.pihole $ pihole -r

[✓] Root user check

    .;;,.
    .ccccc:,.
     :cccclll:.      ..,,
      :ccccclll.   ;ooodc
       'ccll:;ll .oooodc
         .;cll.;;looo:.
             .. ','.
            .',,,,,,'.
          .',,,,,,,,,,.
        .',,,,,,,,,,,,....
      ....''',,,,,,,'.......
    .........  ....  .........
    ..........      ..........
    ..........      ..........
    .........  ....  .........
      ........,,,,,,,'......
        ....',,,,,,,,,,,,.
           .',,,,,,,,,'.
            .',,,,,,'.
              ..'''.

[i] Existing PHP installation detected : PHP version 7.0.33-0+deb9u1
[i] Repair option selected
[✓] Disk space check
[✓] Update local cache of available packages

[✓] Checking apt-get for upgraded packages... up to date!

[i] Installer Dependency checks...
[✓] Checking for apt-utils
[✓] Checking for dialog
[✓] Checking for debconf
[✓] Checking for dhcpcd5
[✓] Checking for git
[✓] Checking for iproute2
[✓] Checking for whiptail

[i] Performing reconfiguration, skipping download of local repos
[i] Resetting repository within /etc/.pihole...... Unable to reset /etc/.pihole, exiting installer
pi@raspberrypi:/etc/.pihole $ pihole -up
[i] Checking for updates...
[i] Pi-hole Core: update available
[i] Web Interface: update available
[i] FTL: update available

[i] Pi-hole core files out of date, updating local repo.
[✓] Check for existing repository in /etc/.pihole
[i] Update repo in /etc/.pihole...
: Could not update local repository. Contact support.

What is the output of these commands?

cd /etc/.pihole
sudo git pull --quiet

enter the lines in and gave me nothing back

pi@raspberrypi:~ $ cd /etc/.pihole
pi@raspberrypi:/etc/.pihole $ sudo git pull --quiet
pi@raspberrypi:/etc/.pihole $

What is the output of this command?

sudo bash -x /opt/pihole/update.sh
sudo bash -x /opt/pihole/update.sh
+ readonly ADMIN_INTERFACE_GIT_URL=https://github.com/pi-hole/AdminLTE.git
+ ADMIN_INTERFACE_GIT_URL=https://github.com/pi-hole/AdminLTE.git
+ readonly ADMIN_INTERFACE_DIR=/var/www/html/admin
+ ADMIN_INTERFACE_DIR=/var/www/html/admin
+ readonly PI_HOLE_GIT_URL=https://github.com/pi-hole/pi-hole.git
+ PI_HOLE_GIT_URL=https://github.com/pi-hole/pi-hole.git
+ readonly PI_HOLE_FILES_DIR=/etc/.pihole
+ PI_HOLE_FILES_DIR=/etc/.pihole
+ PH_TEST=true
+ CHECK_ONLY=false
+ source '/etc/.pihole/automated install/basic-install.sh'
++ set -e
++ installLogLoc=/etc/pihole/install.log
++ setupVars=/etc/pihole/setupVars.conf
++ lighttpdConfig=/etc/lighttpd/lighttpd.conf
++ coltable=/opt/pihole/COL_TABLE
++ webInterfaceGitUrl=https://github.com/pi-hole/AdminLTE.git
++ webInterfaceDir=/var/www/html/admin
++ piholeGitUrl=https://github.com/pi-hole/pi-hole.git
++ PI_HOLE_LOCAL_REPO=/etc/.pihole
++ PI_HOLE_FILES=(chronometer list piholeDebug piholeLogFlush setupLCD update version gravity uninstall webpage)
++ PI_HOLE_INSTALL_DIR=/opt/pihole
++ PI_HOLE_CONFIG_DIR=/etc/pihole
++ useUpdateVars=false
++ adlistFile=/etc/pihole/adlists.list
++ regexFile=/etc/pihole/regex.list
++ IPV4_ADDRESS=
++ IPV6_ADDRESS=
++ QUERY_LOGGING=true
++ INSTALL_WEB_INTERFACE=true
++ PRIVACY_LEVEL=0
++ '[' -z root ']'
+++ stty size
++ screen_size='24 80'
++ printf -v rows %d 24
++ printf -v columns %d 80
++ r=12
++ c=40
++ r=20
++ c=70
++ skipSpaceCheck=false
++ reconfigure=false
++ runUnattended=false
++ INSTALL_WEB_SERVER=true
++ [[ -f /opt/pihole/COL_TABLE ]]
++ source /opt/pihole/COL_TABLE
+++ [[ -t 1 ]]
++++ tput colors
+++ [[ 8 -ge 8 ]]
+++ COL_BOLD=''
+++ COL_ULINE=''
+++ COL_NC=''
+++ COL_GRAY=''
+++ COL_RED=''
+++ COL_GREEN=''
+++ COL_YELLOW=''
+++ COL_BLUE=''
+++ COL_PURPLE=''
+++ COL_CYAN=''
+++ COL_WHITE=''
+++ COL_BLACK=''
+++ COL_LIGHT_BLUE=''
+++ COL_LIGHT_GREEN=''
+++ COL_LIGHT_CYAN=''
+++ COL_LIGHT_RED=''
+++ COL_URG_RED=''
+++ COL_LIGHT_PURPLE=''
+++ COL_BROWN=''
+++ COL_LIGHT_GRAY=''
+++ COL_DARK_GRAY=''
+++ TICK='[✓]'
+++ CROSS='[✗]'
+++ INFO='[i]'
+++ QST='[?]'
+++ DONE=' done!'
+++ OVER='\r'
++ counter=0
++ [[ true != true ]]
+ source /opt/pihole/COL_TABLE
++ [[ -t 1 ]]
+++ tput colors
++ [[ 8 -ge 8 ]]
++ COL_BOLD=''
++ COL_ULINE=''
++ COL_NC=''
++ COL_GRAY=''
++ COL_RED=''
++ COL_GREEN=''
++ COL_YELLOW=''
++ COL_BLUE=''
++ COL_PURPLE=''
++ COL_CYAN=''
++ COL_WHITE=''
++ COL_BLACK=''
++ COL_LIGHT_BLUE=''
++ COL_LIGHT_GREEN=''
++ COL_LIGHT_CYAN=''
++ COL_LIGHT_RED=''
++ COL_URG_RED=''
++ COL_LIGHT_PURPLE=''
++ COL_BROWN=''
++ COL_LIGHT_GRAY=''
++ COL_DARK_GRAY=''
++ TICK='[✓]'
++ CROSS='[✗]'
++ INFO='[i]'
++ QST='[?]'
++ DONE=' done!'
++ OVER='\r'
+ [[ '' == \-\-\c\h\e\c\k\-\o\n\l\y ]]
+ main
+ local 'basicError=\n  Unable to complete update, please contact Pi-hole Support'
+ local core_update
+ local web_update
+ local FTL_update
+ core_update=false
+ web_update=false
+ FTL_update=false
+ source /etc/pihole/setupVars.conf
++ WEBPASSWORD=
++ PIHOLE_INTERFACE=eth0
++ IPV4_ADDRESS=192.168.1.228/24
++ IPV6_ADDRESS=
++ PIHOLE_DNS_1=1.1.1.1
++ PIHOLE_DNS_2=1.0.0.1
++ QUERY_LOGGING=true
++ INSTALL_WEB_SERVER=true
++ INSTALL_WEB_INTERFACE=true
++ LIGHTTPD_ENABLED=true
++ BLOCKING_ENABLED=true
+ is_repo /etc/.pihole
+ local directory=/etc/.pihole
+ local curdir
+ local rc
+ curdir=/home/pi
+ [[ -d /etc/.pihole ]]
+ cd /etc/.pihole
+ git status --short
+ cd /home/pi
+ return 0
+ echo -e '  [i] Checking for updates...'
  [i] Checking for updates...
+ GitCheckUpdateAvail /etc/.pihole
+ local directory
+ directory=/etc/.pihole
+ curdir=/home/pi
+ cd /etc/.pihole
+ git fetch --quiet origin
++ git rev-parse '@{0}'
+ LOCAL=8d85d46c1abf598d6f1b34fb2cfbed9c9ce1a29a
++ git rev-parse '@{upstream}'
+ REMOTE=ba1e94d3d9cf1894e0b5adca3e92738d21897568
+ [[ 40 == 0 ]]
+ [[ 40 == 0 ]]
+ cd /home/pi
+ [[ 8d85d46c1abf598d6f1b34fb2cfbed9c9ce1a29a != \b\a\1\e\9\4\d\3\d\9\c\f\1\8\9\4\e\0\b\5\a\d\c\a\3\e\9\2\7\3\8\d\2\1\8\9\7\5\6\8 ]]
+ return 0
+ core_update=true
+ echo -e '  [i] Pi-hole Core:\tupdate available'
  [i] Pi-hole Core:     update available
+ [[ true == true ]]
+ is_repo /var/www/html/admin
+ local directory=/var/www/html/admin
+ local curdir
+ local rc
+ curdir=/home/pi
+ [[ -d /var/www/html/admin ]]
+ cd /var/www/html/admin
+ git status --short
+ cd /home/pi
+ return 0
+ GitCheckUpdateAvail /var/www/html/admin
+ local directory
+ directory=/var/www/html/admin
+ curdir=/home/pi
+ cd /var/www/html/admin
+ git fetch --quiet origin
++ git rev-parse '@{0}'
+ LOCAL=de7aa5a3fafb7d82b50d9972a1451a848c89037a
++ git rev-parse '@{upstream}'
+ REMOTE=347994db169eb486954cbcff6f62955c77c1db4a
+ [[ 40 == 0 ]]
+ [[ 40 == 0 ]]
+ cd /home/pi
+ [[ de7aa5a3fafb7d82b50d9972a1451a848c89037a != \3\4\7\9\9\4\d\b\1\6\9\e\b\4\8\6\9\5\4\c\b\c\f\f\6\f\6\2\9\5\5\c\7\7\c\1\d\b\4\a ]]
+ return 0
+ web_update=true
+ echo -e '  [i] Web Interface:\tupdate available'
  [i] Web Interface:    update available
+ FTLcheckUpdate
+ get_binary_name
+ local machine
++ uname -m
+ machine=armv7l
+ local 'str=Detecting architecture'
+ printf '  %b %s...' '[i]' 'Detecting architecture'
+ [[ armv7l == \a\r\m* ]]
+ local rev
++ uname -m
++ sed 's/[^0-9]//g;'
+ rev=7
+ local lib
++ ldd /bin/ls
++ grep -E '^\s*/lib'
++ awk '{ print $1 }'
+ lib=/lib/ld-linux-armhf.so.3
+ [[ /lib/ld-linux-armhf.so.3 == \/\l\i\b\/\l\d\-\l\i\n\u\x\-\a\a\r\c\h\6\4\.\s\o\.\1 ]]
+ [[ /lib/ld-linux-armhf.so.3 == \/\l\i\b\/\l\d\-\l\i\n\u\x\-\a\r\m\h\f\.\s\o\.\3 ]]
+ [[ 7 -gt 6 ]]
+ printf '%b  %b Detected ARM-hf architecture (armv7+)\n' '\r' '[✓]'
+ binary=pihole-FTL-arm-linux-gnueabihf
+ printf '  %b Checking for existing FTL binary...\n' '[i]'
+ local ftlLoc
++ which pihole-FTL
+ ftlLoc=/usr/bin/pihole-FTL
+ local ftlBranch
+ [[ -f /etc/pihole/ftlbranch ]]
+ ftlBranch=master
+ local remoteSha1
+ local localSha1
+ which dnsmasq
+ [[ ! master == \m\a\s\t\e\r ]]
+ [[ -n /usr/bin/pihole-FTL ]]
+ local FTLversion
++ /usr/bin/pihole-FTL tag
+ FTLversion=v4.1.2
+ local FTLlatesttag
++ curl -sI https://github.com/pi-hole/FTL/releases/latest
++ grep Location
++ awk -F / '{print $NF}'
++ tr -d '\r\n'
+ FTLlatesttag=v4.2.2
+ [[ v4.1.2 != \v\4\.\2\.\2 ]]
+ return 0
+ FTL_update=true
+ echo -e '  [i] FTL:\t\tupdate available'
  [i] FTL:              update available
+ [[ true == false ]]
+ [[ false == true ]]
+ [[ true == true ]]
+ echo ''

+ echo -e '  [i] Pi-hole core files out of date, updating local repo.'
  [i] Pi-hole core files out of date, updating local repo.
+ getGitFiles /etc/.pihole https://github.com/pi-hole/pi-hole.git
+ local directory=/etc/.pihole
+ local remoteRepo=https://github.com/pi-hole/pi-hole.git
+ local 'str=Check for existing repository in /etc/.pihole'
+ printf '  %b %s...' '[i]' 'Check for existing repository in /etc/.pihole'
  [i] Check for existing repository in /etc/.pihole...+ is_repo /etc/.pihole
+ local directory=/etc/.pihole
+ local curdir
+ local rc
+ curdir=/home/pi
+ [[ -d /etc/.pihole ]]
+ cd /etc/.pihole
+ git status --short
+ cd /home/pi
+ return 0
+ printf '%b  %b %s\n' '\r' '[✓]' 'Check for existing repository in /etc/.pihole'
  [✓] Check for existing repository in /etc/.pihole
+ update_repo /etc/.pihole
+ local directory=/etc/.pihole
+ local curdir
+ local 'str=Update repo in /etc/.pihole'
+ curdir=/home/pi
+ cd /etc/.pihole
+ printf '  %b %s...' '[i]' 'Update repo in /etc/.pihole'
  [i] Update repo in /etc/.pihole...+ git stash --all --quiet
+ git clean --quiet --force -d
+ git pull --quiet
+ return 1
+ printf '\n  %b: Could not update local repository. Contact support.%b\n' '' ''

  : Could not update local repository. Contact support.
+ exit 1
pi@raspberrypi:~ $  sudo bash -x /opt/pihole/update.sh
++ runUnattended=false
++ INSTALL_WEB_SERVER=true
++ [[ -f /opt/pihole/COL_TABLE ]]
++ source /opt/pihole/COL_TABLE
+++ [[ -t 1 ]]
++++ tput colors
+++ [[ 8 -ge 8 ]]
+++ COL_BOLD=''
+++ COL_ULINE=''
+++ COL_NC=''
+++ COL_GRAY=''
+++ COL_RED=''
+++ COL_GREEN=''
+++ COL_YELLOW=''
+++ COL_BLUE=''
+++ COL_PURPLE=''
+++ COL_CYAN=''
+++ COL_WHITE=''
+++ COL_BLACK=''
+++ COL_LIGHT_BLUE=''
+++ COL_LIGHT_GREEN=''
+++ COL_LIGHT_CYAN=''
+++ COL_LIGHT_RED=''
+++ COL_URG_RED=''
+++ COL_LIGHT_PURPLE=''
+++ COL_BROWN=''
+++ COL_LIGHT_GRAY=''
+++ COL_DARK_GRAY=''
+++ TICK='[✓]'
+++ CROSS='[✗]'
+++ INFO='[i]'
+++ QST='[?]'
+++ DONE=' done!'
+++ OVER='\r'
++ counter=0
++ [[ true != true ]]
+ source /opt/pihole/COL_TABLE
++ [[ -t 1 ]]
+++ tput colors
++ [[ 8 -ge 8 ]]
++ COL_BOLD=''
++ COL_ULINE=''
++ COL_NC=''
++ COL_GRAY=''
++ COL_RED=''
++ COL_GREEN=''
++ COL_YELLOW=''
++ COL_BLUE=''
++ COL_PURPLE=''
++ COL_CYAN=''
++ COL_WHITE=''
++ COL_BLACK=''
++ COL_LIGHT_BLUE=''
++ COL_LIGHT_GREEN=''
++ COL_LIGHT_CYAN=''
++ COL_LIGHT_RED=''
++ COL_URG_RED=''
++ COL_LIGHT_PURPLE=''
++ COL_BROWN=''
++ COL_LIGHT_GRAY=''
++ COL_DARK_GRAY=''
++ TICK='[✓]'
++ CROSS='[✗]'
++ INFO='[i]'
++ QST='[?]'
++ DONE=' done!'
++ OVER='\r'
+ [[ '' == \-\-\c\h\e\c\k\-\o\n\l\y ]]
+ main
+ local 'basicError=\n  Unable to complete update, please contact Pi-hole Support'
+ local core_update
+ local web_update
+ local FTL_update
+ core_update=false
+ web_update=false
+ FTL_update=false
+ source /etc/pihole/setupVars.conf
++ WEBPASSWORD=
++ PIHOLE_INTERFACE=eth0
++ IPV4_ADDRESS=192.168.1.228/24
++ IPV6_ADDRESS=
++ PIHOLE_DNS_1=1.1.1.1
++ PIHOLE_DNS_2=1.0.0.1
++ QUERY_LOGGING=true
++ INSTALL_WEB_SERVER=true
++ INSTALL_WEB_INTERFACE=true
++ LIGHTTPD_ENABLED=true
++ BLOCKING_ENABLED=true
+ is_repo /etc/.pihole
+ local directory=/etc/.pihole
+ local curdir
+ local rc
+ curdir=/home/pi
+ [[ -d /etc/.pihole ]]
+ cd /etc/.pihole
+ git status --short
+ cd /home/pi
+ return 0
+ echo -e '  [i] Checking for updates...'
  [i] Checking for updates...
+ GitCheckUpdateAvail /etc/.pihole
+ local directory
+ directory=/etc/.pihole
+ curdir=/home/pi
+ cd /etc/.pihole
+ git fetch --quiet origin
++ git rev-parse '@{0}'
+ LOCAL=8d85d46c1abf598d6f1b34fb2cfbed9c9ce1a29a
++ git rev-parse '@{upstream}'
+ REMOTE=ba1e94d3d9cf1894e0b5adca3e92738d21897568
+ [[ 40 == 0 ]]
+ [[ 40 == 0 ]]
+ cd /home/pi
+ [[ 8d85d46c1abf598d6f1b34fb2cfbed9c9ce1a29a != \b\a\1\e\9\4\d\3\d\9\c\f\1\8\9\4\e\0\b\5\a\d\c\a\3\e\9\2\7\3\8\d\2\1\8\9\7\5\6\8 ]]
+ return 0
+ core_update=true
+ echo -e '  [i] Pi-hole Core:\tupdate available'
  [i] Pi-hole Core:     update available
+ [[ true == true+ readonly ADMIN_INTERFACE_GIT_URL=https://github.com/pi-hole/AdminLTE.git
+ ADMIN_INTERFACE_GIT_URL=https://github.com/pi-hole/AdminLTE.git
+ readonly ADMIN_INTERFACE_DIR=/var/www/html/admin
+ ADMIN_INTERFACE_DIR=/var/www/html/admin
+ readonly PI_HOLE_GIT_URL=https://github.com/pi-hole/pi-hole.git
+ PI_HOLE_GIT_URL=https://github.com/pi-hole/pi-hole.git
+ readonly PI_HOLE_FILES_DIR=/etc/.pihole
+ PI_HOLE_FILES_DIR=/etc/.pihole
+ PH_TEST=true
+ CHECK_ONLY=false
+ source '/etc/.pihole/automated install/basic-install.sh'
++ set -e
++ installLogLoc=/etc/pihole/install.log
++ setupVars=/etc/pihole/setupVars.conf
++ lighttpdConfig=/etc/lighttpd/lighttpd.conf
++ coltable=/opt/pihole/COL_TABLE
++ webInterfaceGitUrl=https://github.com/pi-hole/AdminLTE.git
++ webInterfaceDir=/var/www/html/admin
++ piholeGitUrl=https://github.com/pi-hole/pi-hole.git
++ PI_HOLE_LOCAL_REPO=/etc/.pihole
++ PI_HOLE_FILES=(chronometer list piholeDebug piholeLogFlush setupLCD update version gravity uninstall webpage)
++ PI_HOLE_INSTALL_DIR=/opt/pihole
++ PI_HOLE_CONFIG_DIR=/etc/pihole
++ useUpdateVars=false
++ adlistFile=/etc/pihole/adlists.list
++ regexFile=/etc/pihole/regex.list
++ IPV4_ADDRESS=
++ IPV6_ADDRESS=
++ QUERY_LOGGING=true
++ INSTALL_WEB_INTERFACE=true
++ PRIVACY_LEVEL=0
++ '[' -z root ']'
+++ stty size
++ screen_size='24 80'
++ printf -v rows %d 24
++ printf -v columns %d 80
++ r=12
++ c=40
++ r=20
++ c=70
++ skipSpaceCheck=false
++ reconfigure=false
++ runUnattended=false
++ INSTALL_WEB_SERVER=true
++ [[ -f /opt/pihole/COL_TABLE ]]
++ source /opt/pihole/COL_TABLE
+++ [[ -t 1 ]]
++++ tput colors
+++ [[ 8 -ge 8 ]]
+++ COL_BOLD=''
+++ COL_ULINE=''
+++ COL_NC=''
+++ COL_GRAY=''
+++ COL_RED=''
+++ COL_GREEN=''
+++ COL_YELLOW=''
+++ COL_BLUE=''
+++ COL_PURPLE=''
+++ COL_CYAN=''
+++ COL_WHITE=''
+++ COL_BLACK=''
+++ COL_LIGHT_BLUE=''
+++ COL_LIGHT_GREEN=''
+++ COL_LIGHT_CYAN=''
+++ COL_LIGHT_RED=''
+++ COL_URG_RED=''
+++ COL_LIGHT_PURPLE=''
+++ COL_BROWN=''
+++ COL_LIGHT_GRAY=''
+++ COL_DARK_GRAY=''
+++ TICK='[✓]'
+++ CROSS='[✗]'
+++ INFO='[i]'
+++ QST='[?]'
+++ DONE=' done!'
+++ OVER='\r'
++ counter=0
++ [[ true != true ]]
+ source /opt/pihole/COL_TABLE
++ [[ -t 1 ]]
+++ tput colors
++ [[ 8 -ge 8 ]]
++ COL_BOLD=''
++ COL_ULINE=''
++ COL_NC=''
++ COL_GRAY=''
++ COL_RED=''
++ COL_GREEN=''
++ COL_YELLOW=''
++ COL_BLUE=''
++ COL_PURPLE=''
++ COL_CYAN=''
++ COL_WHITE=''
++ COL_BLACK=''
++ COL_LIGHT_BLUE=''
++ COL_LIGHT_GREEN=''
++ COL_LIGHT_CYAN=''
++ COL_LIGHT_RED=''
++ COL_URG_RED=''
++ COL_LIGHT_PURPLE=''
++ COL_BROWN=''
++ COL_LIGHT_GRAY=''
++ COL_DARK_GRAY=''
++ TICK='[✓]'
++ CROSS='[✗]'
++ INFO='[i]'
++ QST='[?]'
++ DONE=' done!'
++ OVER='\r'
+ [[ '' == \-\-\c\h\e\c\k\-\o\n\l\y ]]
+ main
+ local 'basicError=\n  Unable to complete update, please contact Pi-hole Support'
+ local core_update
+ local web_update
+ local FTL_update
+ core_update=false
+ web_update=false
+ FTL_update=false
+ source /etc/pihole/setupVars.conf
++ WEBPASSWORD=
++ PIHOLE_INTERFACE=eth0
++ IPV4_ADDRESS=192.168.1.228/24
++ IPV6_ADDRESS=
++ PIHOLE_DNS_1=1.1.1.1
++ PIHOLE_DNS_2=1.0.0.1
++ QUERY_LOGGING=true
++ INSTALL_WEB_SERVER=true
++ INSTALL_WEB_INTERFACE=true
++ LIGHTTPD_ENABLED=true
++ BLOCKING_ENABLED=true
+ is_repo /etc/.pihole
+ local directory=/etc/.pihole
+ local curdir
+ local rc
+ curdir=/home/pi
+ [[ -d /etc/.pihole ]]
+ cd /etc/.pihole
+ git status --short
+ cd /home/pi
+ return 0
+ echo -e '  [i] Checking for updates...'
  [i] Checking for updates...
+ GitCheckUpdateAvail /etc/.pihole
+ local directory
+ directory=/etc/.pihole
+ curdir=/home/pi
+ cd /etc/.pihole
+ git fetch --quiet origin
++ git rev-parse '@{0}'
+ LOCAL=8d85d46c1abf598d6f1b34fb2cfbed9c9ce1a29a
++ git rev-parse '@{upstream}'
+ REMOTE=ba1e94d3d9cf1894e0b5adca3e92738d21897568
+ [[ 40 == 0 ]]
+ [[ 40 == 0 ]]
+ cd /home/pi
+ [[ 8d85d46c1abf598d6f1b34fb2cfbed9c9ce1a29a != \b\a\1\e\9\4\d\3\d\9\c\f\1\8\9\4\e\0\b\5\a\d\c\a\3\e\9\2\7\3\8\d\2\1\8\9\7\5\6\8 ]]
+ return 0
+ core_update=true
+ echo -e '  [i] Pi-hole Core:\tupdate available'
  [i] Pi-hole Core:     update available
+ [[ true == true ]]
+ is_repo /var/www/html/admin
+ local directory=/var/www/html/admin
+ local curdir
+ local rc
+ curdir=/home/pi
+ [[ -d /var/www/html/admin ]]
+ cd /var/www/html/admin
+ git status --short
+ cd /home/pi
+ return 0
+ GitCheckUpdateAvail /var/www/html/admin
+ local directory
+ directory=/var/www/html/admin
+ curdir=/home/pi
+ cd /var/www/html/admin
+ git fetch --quiet origin
++ git rev-parse '@{0}'
+ LOCAL=de7aa5a3fafb7d82b50d9972a1451a848c89037a
++ git rev-parse '@{upstream}'
+ REMOTE=347994db169eb486954cbcff6f62955c77c1db4a
+ [[ 40 == 0 ]]
+ [[ 40 == 0 ]]
+ cd /home/pi
+ [[ de7aa5a3fafb7d82b50d9972a1451a848c89037a != \3\4\7\9\9\4\d\b\1\6\9\e\b\4\8\6\9\5\4\c\b\c\f\f\6\f\6\2\9\5\5\c\7\7\c\1\d\b\4\a ]]
+ return 0
+ web_update=true
+ echo -e '  [i] Web Interface:\tupdate available'
  [i] Web Interface:    update available
+ FTLcheckUpdate
+ get_binary_name
+ local machine
++ uname -m
+ machine=armv7l
+ local 'str=Detecting architecture'
+ printf '  %b %s...' '[i]' 'Detecting architecture'
+ [[ armv7l == \a\r\m* ]]
+ local rev
++ uname -m
++ sed 's/[^0-9]//g;'
+ rev=7
+ local lib
++ ldd /bin/ls
++ grep -E '^\s*/lib'
++ awk '{ print $1 }'
+ lib=/lib/ld-linux-armhf.so.3
+ [[ /lib/ld-linux-armhf.so.3 == \/\l\i\b\/\l\d\-\l\i\n\u\x\-\a\a\r\c\h\6\4\.\s\o\.\1 ]]
+ [[ /lib/ld-linux-armhf.so.3 == \/\l\i\b\/\l\d\-\l\i\n\u\x\-\a\r\m\h\f\.\s\o\.\3 ]]
+ [[ 7 -gt 6 ]]
+ printf '%b  %b Detected ARM-hf architecture (armv7+)\n' '\r' '[✓]'
+ binary=pihole-FTL-arm-linux-gnueabihf
+ printf '  %b Checking for existing FTL binary...\n' '[i]'
+ local ftlLoc
++ which pihole-FTL
+ ftlLoc=/usr/bin/pihole-FTL
+ local ftlBranch
+ [[ -f /etc/pihole/ftlbranch ]]
+ ftlBranch=master
+ local remoteSha1
+ local localSha1
+ which dnsmasq
+ [[ ! master == \m\a\s\t\e\r ]]
+ [[ -n /usr/bin/pihole-FTL ]]
+ local FTLversion
++ /usr/bin/pihole-FTL tag
+ FTLversion=v4.1.2
+ local FTLlatesttag
++ curl -sI https://github.com/pi-hole/FTL/releases/latest
++ grep Location
++ awk -F / '{print $NF}'
++ tr -d '\r\n'
+ FTLlatesttag=v4.2.2
+ [[ v4.1.2 != \v\4\.\2\.\2 ]]
+ return 0
+ FTL_update=true
+ echo -e '  [i] FTL:\t\tupdate available'
  [i] FTL:              update available
+ [[ true == false ]]
+ [[ false == true ]]
+ [[ true == true ]]
+ echo ''

+ echo -e '  [i] Pi-hole core files out of date, updating local repo.'
  [i] Pi-hole core files out of date, updating local repo.
+ getGitFiles /etc/.pihole https://github.com/pi-hole/pi-hole.git
+ local directory=/etc/.pihole
+ local remoteRepo=https://github.com/pi-hole/pi-hole.git
+ local 'str=Check for existing repository in /etc/.pihole'
+ printf '  %b %s...' '[i]' 'Check for existing repository in /etc/.pihole'
  [i] Check for existing repository in /etc/.pihole...+ is_repo /etc/.pihole
+ local directory=/etc/.pihole
+ local curdir
+ local rc
+ curdir=/home/pi
+ [[ -d /etc/.pihole ]]
+ cd /etc/.pihole
+ git status --short
+ cd /home/pi
+ return 0
+ printf '%b  %b %s\n' '\r' '[✓]' 'Check for existing repository in /etc/.pihole'
  [✓] Check for existing repository in /etc/.pihole
+ update_repo /etc/.pihole
+ local directory=/etc/.pihole
+ local curdir
+ local 'str=Update repo in /etc/.pihole'
+ curdir=/home/pi
+ cd /etc/.pihole
+ printf '  %b %s...' '[i]' 'Update repo in /etc/.pihole'
  [i] Update repo in /etc/.pihole...+ git stash --all --quiet
+ git clean --quiet --force -d
+ git pull --quiet
+ return 1
+ printf '\n  %b: Could not update local repository. Contact support.%b\n' '' ''

  : Could not update local repository. Contact support.
+ exit 1

Try

cd /etc/.pihole
sudo git status
sudo git pull

pi@raspberrypi:~ $ cd /etc/.pihole
pi@raspberrypi:/etc/.pihole $ sudo git status
On branch master
Your branch is behind 'origin/master' by 51 commits, and can be fast-forwarded.
  (use "git pull" to update your local branch)
nothing to commit, working tree clean
pi@raspberrypi:/etc/.pihole $ sudo git pull
Updating 8d85d46..ba1e94d
pi@raspberrypi:/etc/.pihole $ pihole -up
  [i] Checking for updates...
  [i] Pi-hole Core:     update available
  [i] Web Interface:    update available
  [i] FTL:              update available

  [i] Pi-hole core files out of date, updating local repo.
  [✓] Check for existing repository in /etc/.pihole
  [i] Update repo in /etc/.pihole...
  : Could not update local repository. Contact support.

Sorry another ideas what I can try?

Try sudo git fetch and then sudo git merge. Once that is done do another sudo git status.

Sadly no joy.

pi@raspberrypi:~ $ cd /etc/.pihole
pi@raspberrypi:/etc/.pihole $ sudo git fetch
pi@raspberrypi:/etc/.pihole $ sudo git merge
Updating 8d85d46..ba1e94d
pi@raspberrypi:/etc/.pihole $ sudo git status
On branch master
Your branch is behind 'origin/master' by 51 commits, and can be fast-forwarded.
  (use "git pull" to update your local branch)
nothing to commit, working tree clean
pi@raspberrypi:/etc/.pihole $ pihole -up
  [i] Checking for updates...
  [i] Pi-hole Core:     update available
  [i] Web Interface:    update available
  [i] FTL:              update available

  [i] Pi-hole core files out of date, updating local repo.
  [✓] Check for existing repository in /etc/.pihole
  [i] Update repo in /etc/.pihole...
  : Could not update local repository. Contact support.

Would you want me to get another debug token?

I think your system has gone in to read-only mode. When SD cards are about to go bad the will often go read-only to let you get any information off of them, but not allow any writes to persist. The fact that you ran pull and it showed 'Updating' and then another pull/fetch and got the same exact output tells me that writes are not persisting.

Not sure if that's it. By far I'm no pro here, but it does still pull new updates from the blacklist I use and updates logs. So I mean it still writing new data unless that's stored in memory.

What is the mount output sudo mount? And do the files still show as updated if you reboot?

Changes do stick after reboots (logs still up to date, same domains on blacklist and added 3 to the black list to make sure they stayed) and this is what I get when I enter sudo mount

pi@raspberrypi:~ $ cd /etc/.pihole
pi@raspberrypi:/etc/.pihole $ sudo mount
/dev/mmcblk0p2 on / type ext4 (rw,noatime,data=ordered)
devtmpfs on /dev type devtmpfs (rw,relatime,size=470116k,nr_inodes=117529,mode=755)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
sunrpc on /run/rpc_pipefs type rpc_pipefs (rw,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=32,pgrp=1,timeout=0,minproto=5,maxproto=5,direct)
mqueue on /dev/mqueue type mqueue (rw,relatime)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/mmcblk0p1 on /boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro)
tmpfs on /run/user/999 type tmpfs (rw,nosuid,nodev,relatime,size=94944k,mode=700,uid=999,gid=996)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=94944k,mode=700,uid=1000,gid=1000)

Okay, sudo ls -lah /etc/.pihole next please?