diff -r 8685d10eca0f -r ad483a12058c src/eric7/Plugins/VcsPlugins/vcsMercurial/hg.py --- a/src/eric7/Plugins/VcsPlugins/vcsMercurial/hg.py Tue Oct 29 14:21:15 2024 +0100 +++ b/src/eric7/Plugins/VcsPlugins/vcsMercurial/hg.py Tue Oct 29 19:48:56 2024 +0100 @@ -150,6 +150,7 @@ self.__repoIniFile = "" self.__defaultConfigured = False self.__defaultPushConfigured = False + self.__ignoreFile = "" # instantiate the extensions self.__extensions = { @@ -235,6 +236,8 @@ watcher.removePath(self.__cfgFile) if self.__repoIniFile: watcher.removePath(self.__repoIniFile) + if self.__ignoreFile: + watcher.removePath(self.__ignoreFile) def initCommand(self, command): """ @@ -2166,7 +2169,7 @@ if lfPattern is not None: cfg.write("patterns =\n") cfg.write(" {0}\n".format("\n ".join(lfPattern))) - self.__monitorRepoIniFile(repoName) + self.__monitorRepoConfigFiles(repoName) self.__iniFileChanged(cfgFile) self.repoEditor = MiniEditor(cfgFile, "Properties") self.repoEditor.show() @@ -2301,6 +2304,7 @@ with open(ignoreName, "w") as ignore: ignore.write("\n".join(ignorePatterns)) ignore.write("\n") + self.__monitorRepoConfigFiles(name) status = True except OSError: status = False @@ -3122,7 +3126,7 @@ @type str """ if ( - path in (self.__cfgFile, self.__repoIniFile) + path in (self.__cfgFile, self.__repoIniFile, self.__ignoreFile) and not self.__iniFileChangedFlag ): self.__iniFileChangedFlag = True @@ -3138,6 +3142,8 @@ ).format(err), ) + self.restartStatusMonitor(self.__projectHelper.getProject()) + self.__getExtensionsInfo() if self.__repoIniFile and path == self.__repoIniFile: @@ -3147,21 +3153,27 @@ self.__iniFileChangedFlag = False - def __monitorRepoIniFile(self, repodir): + def __monitorRepoConfigFiles(self, repodir): """ - Private slot to add a repository configuration file to the list of + Private slot to add some repository configuration files to the list of monitored files. @param repodir directory name of the repository @type str """ + watcher = EricFileSystemWatcher.instance() + cfgFile = os.path.join(repodir, self.adminDir, "hgrc") if os.path.exists(cfgFile): - watcher = EricFileSystemWatcher.instance() watcher.addPath(cfgFile) self.__repoIniFile = cfgFile self.__checkDefaults() + ignoreFile = os.path.join(repodir, Hg.IgnoreFileName) + if os.path.exists(ignoreFile): + watcher.addPath(ignoreFile) + self.__ignoreFile = ignoreFile + ########################################################################### ## Methods to handle extensions are below. ########################################################################### @@ -3259,7 +3271,7 @@ if repodir: self.__repoDir = repodir self.__createClient(repodir) - self.__monitorRepoIniFile(repodir) + self.__monitorRepoConfigFiles(repodir) return self.__projectHelper