OK, so its official, I am a numpty :)
This is what I get now when I run it…
the log will be /home/pi/MagicMirror/installers/upgrade.log
doing test run = true
update log will be in /home/pi/MagicMirror/installers/upgrade.log
saving custom.css
upgrading from version 2.9.0 to 2.9.0
fetching latest revisions
bash: line 159: On branch master: command not found
there are 28 local files that are different than the master repo
.eslintrc.json
.gitignore
.travis.yml
CHANGELOG.md
LICENSE.md
installers/raspberry.sh
js/main.js
modules/default/calendar/vendor/ical.js/node-ical.js
modules/default/clock/clock.js
modules/default/currentweather/currentweather.js
modules/default/newsfeed/newsfeed.js
modules/default/updatenotification/node_helper.js
modules/default/updatenotification/updatenotification.js
modules/default/weather/providers/darksky.js
modules/default/weather/providers/openweathermap.js
modules/default/weather/providers/ukmetoffice.js
modules/default/weather/providers/weathergov.js
modules/default/weather/weather.js
modules/default/weather/weatherprovider.js
modules/default/weatherforecast/weatherforecast.js
package.json
run-start.sh
tests/e2e/vendor_spec.js
translations/en.json
translations/es.json
translations/translations.js
vendor/package-lock.json
package-lock.json
any *-lock.json files do not need to be saved
do you want to save these files for later (Y/n)?n
skipping restore for .eslintrc.json, doing test run
skipping restore for .gitignore, doing test run
skipping restore for .travis.yml, doing test run
skipping restore for CHANGELOG.md, doing test run
skipping restore for LICENSE.md, doing test run
skipping restore for installers/raspberry.sh, doing test run
skipping restore for js/main.js, doing test run
skipping restore for modules/default/calendar/vendor/ical.js/node-ical.js, doing test run
skipping restore for modules/default/clock/clock.js, doing test run
skipping restore for modules/default/currentweather/currentweather.js, doing test run
skipping restore for modules/default/newsfeed/newsfeed.js, doing test run
skipping restore for modules/default/updatenotification/node_helper.js, doing test run
skipping restore for modules/default/updatenotification/updatenotification.js, doing test run
skipping restore for modules/default/weather/providers/darksky.js, doing test run
skipping restore for modules/default/weather/providers/openweathermap.js, doing test run
skipping restore for modules/default/weather/providers/ukmetoffice.js, doing test run
skipping restore for modules/default/weather/providers/weathergov.js, doing test run
skipping restore for modules/default/weather/weather.js, doing test run
skipping restore for modules/default/weather/weatherprovider.js, doing test run
skipping restore for modules/default/weatherforecast/weatherforecast.js, doing test run
skipping restore for package.json, doing test run
skipping restore for run-start.sh, doing test run
skipping restore for tests/e2e/vendor_spec.js, doing test run
skipping restore for translations/en.json, doing test run
skipping restore for translations/es.json, doing test run
skipping restore for translations/translations.js, doing test run
skipping restore for vendor/package-lock.json, doing test run
skipping restore for package-lock.json, doing test run
processing dependency changes for active modules with package.json files
processing for module MMM-GooglePhotos please wait
skipped processing for MMM-GooglePhotos, doing test run
processing complete for module MMM-GooglePhotos
restoring custom.css
It then put me back to the command line.