Commit f22d0dde authored by space-nuko's avatar space-nuko
Browse files

Better checking of extension state from Git info

parent ad5afcaa
Loading
Loading
Loading
Loading
+13 −1
Original line number Original line Diff line number Diff line
@@ -91,7 +91,18 @@ class Extension:
        for fetch in repo.remote().fetch(dry_run=True):
        for fetch in repo.remote().fetch(dry_run=True):
            if fetch.flags != fetch.HEAD_UPTODATE:
            if fetch.flags != fetch.HEAD_UPTODATE:
                self.can_update = True
                self.can_update = True
                self.status = "behind"
                self.status = "new commits"
                return

        try:
            origin = repo.rev_parse('origin')
            if repo.head.commit != origin:
                self.can_update = True
                self.status = "behind HEAD"
                return
        except Exception:
            self.can_update = False
            self.status = "unknown (remote error)"
            return
            return


        self.can_update = False
        self.can_update = False
@@ -103,6 +114,7 @@ class Extension:
        # because WSL2 Docker set 755 file permissions instead of 644, this results to the error.
        # because WSL2 Docker set 755 file permissions instead of 644, this results to the error.
        repo.git.fetch(all=True)
        repo.git.fetch(all=True)
        repo.git.reset(commit, hard=True)
        repo.git.reset(commit, hard=True)
        self.have_info_from_repo = False




def list_extensions():
def list_extensions():