From a7fb567cd5e0c3b21a4280a9088eab1933bc3178 Mon Sep 17 00:00:00 2001 From: Syres916 <46537884+Syres916@users.noreply.github.com> Date: Sat, 18 Sep 2021 11:19:42 +0100 Subject: [PATCH] [AddonManager] Handle stderr from git status See discussion https://forum.freecadweb.org/viewtopic.php?f=10&t=62265 --- src/Mod/AddonManager/addonmanager_workers.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/Mod/AddonManager/addonmanager_workers.py b/src/Mod/AddonManager/addonmanager_workers.py index 470d5b7bc3..04be5c935f 100644 --- a/src/Mod/AddonManager/addonmanager_workers.py +++ b/src/Mod/AddonManager/addonmanager_workers.py @@ -259,11 +259,16 @@ class CheckWBWorker(QtCore.QThread): except Exception: print("AddonManager: Unable to fetch git updates for repo", repo[0]) else: - if "git pull" in gitrepo.status(): - self.mark.emit(repo[0]) - upds.append(repo[0]) - # mark as already installed AND already checked for updates AND update available - self.repos[self.repos.index(repo)][2] = 3 + try: + if "git pull" in gitrepo.status(): + self.mark.emit(repo[0]) + upds.append(repo[0]) + # mark as already installed AND already checked for updates AND update available + self.repos[self.repos.index(repo)][2] = 3 + except stderr: + FreeCAD.Console.PrintWarning(translate("AddonsInstaller", + "AddonManager - " + repo[0]) + " git status" + " fatal: this operation must be run in a work tree \n") self.addon_repos.emit(self.repos) self.enable.emit(len(upds)) self.stop = True