--- a/eric7/Plugins/VcsPlugins/vcsGit/ProjectHelper.py Thu Jun 16 18:28:59 2022 +0200 +++ b/eric7/Plugins/VcsPlugins/vcsGit/ProjectHelper.py Fri Jun 17 16:36:14 2022 +0200 @@ -8,8 +8,8 @@ """ import os +import pathlib -from PyQt6.QtCore import QFileInfo from PyQt6.QtWidgets import QMenu, QInputDialog, QToolBar from EricWidgets import EricMessageBox @@ -1666,11 +1666,11 @@ """ Private slot used to perform branch operations for the project. """ - pfile = self.project.getProjectFile() - lastModified = QFileInfo(pfile).lastModified().toString() + pfile = pathlib.Path(self.project.getProjectFile()) + lastModified = pfile.stat().st_mtime shouldReopen = ( self.vcs.gitBranch(self.project.getProjectPath())[1] or - QFileInfo(pfile).lastModified().toString() != lastModified + pfile.stat().st_mtime != lastModified ) if shouldReopen: res = EricMessageBox.yesNo( @@ -1710,11 +1710,11 @@ """ Private slot used to pull changes from a remote repository. """ - pfile = self.project.getProjectFile() - lastModified = QFileInfo(pfile).lastModified().toString() + pfile = pathlib.Path(self.project.getProjectFile()) + lastModified = pfile.stat().st_mtime shouldReopen = ( self.vcs.gitPull(self.project.getProjectPath()) or - QFileInfo(pfile).lastModified().toString() != lastModified + pfile.stat().st_mtime != lastModified ) if shouldReopen: res = EricMessageBox.yesNo( @@ -1735,11 +1735,11 @@ """ Private slot used to revert changes made to the local project. """ - pfile = self.project.getProjectFile() - lastModified = QFileInfo(pfile).lastModified().toString() + pfile = pathlib.Path(self.project.getProjectFile()) + lastModified = pfile.stat().st_mtime shouldReopen = ( self.vcs.vcsRevert(self.project.getProjectPath()) or - QFileInfo(pfile).lastModified().toString() != lastModified + pfile.stat().st_mtime != lastModified ) if shouldReopen: res = EricMessageBox.yesNo( @@ -1754,11 +1754,11 @@ """ Private slot used to unstage changes made to the local project. """ - pfile = self.project.getProjectFile() - lastModified = QFileInfo(pfile).lastModified().toString() + pfile = pathlib.Path(self.project.getProjectFile()) + lastModified = pfile.stat().st_mtime shouldReopen = ( self.vcs.gitUnstage(self.project.getProjectPath()) or - QFileInfo(pfile).lastModified().toString() != lastModified + pfile.stat().st_mtime != lastModified ) if shouldReopen: res = EricMessageBox.yesNo( @@ -1883,11 +1883,11 @@ """ Private slot used to copy commits into the current branch. """ - pfile = self.project.getProjectFile() - lastModified = QFileInfo(pfile).lastModified().toString() + pfile = pathlib.Path(self.project.getProjectFile()) + lastModified = pfile.stat().st_mtime shouldReopen = ( self.vcs.gitCherryPick(self.project.getProjectPath()) or - QFileInfo(pfile).lastModified().toString() != lastModified + pfile.stat().st_mtime != lastModified ) if shouldReopen: res = EricMessageBox.yesNo( @@ -1903,11 +1903,11 @@ Private slot used to continue the last copying session after conflicts were resolved. """ - pfile = self.project.getProjectFile() - lastModified = QFileInfo(pfile).lastModified().toString() + pfile = pathlib.Path(self.project.getProjectFile()) + lastModified = pfile.stat().st_mtime shouldReopen = ( self.vcs.gitCherryPickContinue(self.project.getProjectPath()) or - QFileInfo(pfile).lastModified().toString() != lastModified + pfile.stat().st_mtime != lastModified ) if shouldReopen: res = EricMessageBox.yesNo( @@ -1922,11 +1922,11 @@ """ Private slot used to quit the current copying operation. """ - pfile = self.project.getProjectFile() - lastModified = QFileInfo(pfile).lastModified().toString() + pfile = pathlib.Path(self.project.getProjectFile()) + lastModified = pfile.stat().st_mtime shouldReopen = ( self.vcs.gitCherryPickQuit(self.project.getProjectPath()) or - QFileInfo(pfile).lastModified().toString() != lastModified + pfile.stat().st_mtime != lastModified ) if shouldReopen: res = EricMessageBox.yesNo( @@ -1942,11 +1942,11 @@ Private slot used to cancel the last copying session and return to the previous state. """ - pfile = self.project.getProjectFile() - lastModified = QFileInfo(pfile).lastModified().toString() + pfile = pathlib.Path(self.project.getProjectFile()) + lastModified = pfile.stat().st_mtime shouldReopen = ( self.vcs.gitCherryPickAbort(self.project.getProjectPath()) or - QFileInfo(pfile).lastModified().toString() != lastModified + pfile.stat().st_mtime != lastModified ) if shouldReopen: res = EricMessageBox.yesNo( @@ -1961,11 +1961,11 @@ """ Private slot to stash all current changes. """ - pfile = self.project.getProjectFile() - lastModified = QFileInfo(pfile).lastModified().toString() + pfile = pathlib.Path(self.project.getProjectFile()) + lastModified = pfile.stat().st_mtime shouldReopen = ( self.vcs.gitStashSave(self.project.getProjectPath()) or - QFileInfo(pfile).lastModified().toString() != lastModified + pfile.stat().st_mtime != lastModified ) if shouldReopen: res = EricMessageBox.yesNo( @@ -1992,11 +1992,11 @@ """ Private slot to restore a stash and keep it. """ - pfile = self.project.getProjectFile() - lastModified = QFileInfo(pfile).lastModified().toString() + pfile = pathlib.Path(self.project.getProjectFile()) + lastModified = pfile.stat().st_mtime shouldReopen = ( self.vcs.gitStashApply(self.project.getProjectPath()) or - QFileInfo(pfile).lastModified().toString() != lastModified + pfile.stat().st_mtime != lastModified ) if shouldReopen: res = EricMessageBox.yesNo( @@ -2011,11 +2011,11 @@ """ Private slot to restore a stash and delete it. """ - pfile = self.project.getProjectFile() - lastModified = QFileInfo(pfile).lastModified().toString() + pfile = pathlib.Path(self.project.getProjectFile()) + lastModified = pfile.stat().st_mtime shouldReopen = ( self.vcs.gitStashPop(self.project.getProjectPath()) or - QFileInfo(pfile).lastModified().toString() != lastModified + pfile.stat().st_mtime != lastModified ) if shouldReopen: res = EricMessageBox.yesNo( @@ -2030,11 +2030,11 @@ """ Private slot to create a new branch and restore a stash into it. """ - pfile = self.project.getProjectFile() - lastModified = QFileInfo(pfile).lastModified().toString() + pfile = pathlib.Path(self.project.getProjectFile()) + lastModified = pfile.stat().st_mtime shouldReopen = ( self.vcs.gitStashBranch(self.project.getProjectPath()) or - QFileInfo(pfile).lastModified().toString() != lastModified + pfile.stat().st_mtime != lastModified ) if shouldReopen: res = EricMessageBox.yesNo( @@ -2147,11 +2147,11 @@ """ Private slot to apply a head of a bundle file using the pull method. """ - pfile = self.project.getProjectFile() - lastModified = QFileInfo(pfile).lastModified().toString() + pfile = pathlib.Path(self.project.getProjectFile()) + lastModified = pfile.stat().st_mtime shouldReopen = ( self.vcs.gitBundlePull(self.project.getProjectPath()) or - QFileInfo(pfile).lastModified().toString() != lastModified + pfile.stat().st_mtime != lastModified ) if shouldReopen: res = EricMessageBox.yesNo( @@ -2172,12 +2172,12 @@ """ Private slot used to execute the bisect start command with options. """ - pfile = self.project.getProjectFile() - lastModified = QFileInfo(pfile).lastModified().toString() + pfile = pathlib.Path(self.project.getProjectFile()) + lastModified = pfile.stat().st_mtime shouldReopen = ( self.vcs.gitBisect(self.project.getProjectPath(), "start_extended") or - QFileInfo(pfile).lastModified().toString() != lastModified + pfile.stat().st_mtime != lastModified ) if shouldReopen: res = EricMessageBox.yesNo( @@ -2192,11 +2192,11 @@ """ Private slot used to execute the bisect good command. """ - pfile = self.project.getProjectFile() - lastModified = QFileInfo(pfile).lastModified().toString() + pfile = pathlib.Path(self.project.getProjectFile()) + lastModified = pfile.stat().st_mtime shouldReopen = ( self.vcs.gitBisect(self.project.getProjectPath(), "good") or - QFileInfo(pfile).lastModified().toString() != lastModified + pfile.stat().st_mtime != lastModified ) if shouldReopen: res = EricMessageBox.yesNo( @@ -2211,11 +2211,11 @@ """ Private slot used to execute the bisect bad command. """ - pfile = self.project.getProjectFile() - lastModified = QFileInfo(pfile).lastModified().toString() + pfile = pathlib.Path(self.project.getProjectFile()) + lastModified = pfile.stat().st_mtime shouldReopen = ( self.vcs.gitBisect(self.project.getProjectPath(), "bad") or - QFileInfo(pfile).lastModified().toString() != lastModified + pfile.stat().st_mtime != lastModified ) if shouldReopen: res = EricMessageBox.yesNo( @@ -2230,11 +2230,11 @@ """ Private slot used to execute the bisect skip command. """ - pfile = self.project.getProjectFile() - lastModified = QFileInfo(pfile).lastModified().toString() + pfile = pathlib.Path(self.project.getProjectFile()) + lastModified = pfile.stat().st_mtime shouldReopen = ( self.vcs.gitBisect(self.project.getProjectPath(), "skip") or - QFileInfo(pfile).lastModified().toString() != lastModified + pfile.stat().st_mtime != lastModified ) if shouldReopen: res = EricMessageBox.yesNo( @@ -2249,11 +2249,11 @@ """ Private slot used to execute the bisect reset command. """ - pfile = self.project.getProjectFile() - lastModified = QFileInfo(pfile).lastModified().toString() + pfile = pathlib.Path(self.project.getProjectFile()) + lastModified = pfile.stat().st_mtime shouldReopen = ( self.vcs.gitBisect(self.project.getProjectPath(), "reset") or - QFileInfo(pfile).lastModified().toString() != lastModified + pfile.stat().st_mtime != lastModified ) if shouldReopen: res = EricMessageBox.yesNo( @@ -2287,11 +2287,11 @@ """ Private slot used to replay a bisect session. """ - pfile = self.project.getProjectFile() - lastModified = QFileInfo(pfile).lastModified().toString() + pfile = pathlib.Path(self.project.getProjectFile()) + lastModified = pfile.stat().st_mtime shouldReopen = ( self.vcs.gitBisectReplay(self.project.getProjectPath()) or - QFileInfo(pfile).lastModified().toString() != lastModified + pfile.stat().st_mtime != lastModified ) if shouldReopen: res = EricMessageBox.yesNo( @@ -2314,10 +2314,10 @@ """ Private slot to apply a list of patch files. """ - pfile = self.project.getProjectFile() - lastModified = QFileInfo(pfile).lastModified().toString() + pfile = pathlib.Path(self.project.getProjectFile()) + lastModified = pfile.stat().st_mtime self.vcs.gitApplyCheckPatches(self.project.getProjectPath()) - if QFileInfo(pfile).lastModified().toString() != lastModified: + if pfile.stat().st_mtime != lastModified: res = EricMessageBox.yesNo( self.parent(), self.tr("Apply patch files"),