eric7/Plugins/VcsPlugins/vcsMercurial/hg.py

branch
eric7
changeset 8624
5192a2592324
parent 8621
8c9f41115c04
child 8653
43d556326ded
--- a/eric7/Plugins/VcsPlugins/vcsMercurial/hg.py	Wed Sep 22 19:52:28 2021 +0200
+++ b/eric7/Plugins/VcsPlugins/vcsMercurial/hg.py	Thu Sep 23 18:20:31 2021 +0200
@@ -27,6 +27,7 @@
 from .HgDialog import HgDialog
 from .HgClient import HgClient
 
+import Preferences
 import Utilities
 
 
@@ -542,6 +543,44 @@
             self.__forgotNames = []
         self.checkVCSStatus()
     
+    def vcsCommitMessages(self):
+        """
+        Public method to get the list of saved commit messages.
+        
+        @return list of saved commit messages
+        @rtype list of str
+        """
+        # try per project commit history first
+        messages = self._vcsProjectCommitMessages()
+        if not messages:
+            # empty list returned, try the vcs specific one
+            messages = self.getPlugin().getPreferences('Commits')
+        
+        return messages
+    
+    def vcsAddCommitMessage(self, message):
+        """
+        Public method to add a commit message to the list of saved messages.
+        
+        @param message message to be added
+        @type str
+        """
+        if not self._vcsAddProjectCommitMessage(message):
+            commitMessages = self.vcsCommitMessages()
+            if message in commitMessages:
+                commitMessages.remove(message)
+            commitMessages.insert(0, message)
+            no = Preferences.getVCS("CommitMessages")
+            del commitMessages[no:]
+            self.getPlugin().setPreferences('Commits', commitMessages)
+    
+    def vcsClearCommitMessages(self):
+        """
+        Public method to clear the list of saved messages.
+        """
+        if not self._vcsClearProjectCommitMessages():
+            self.getPlugin().setPreferences('Commits', [])
+    
     def __getMostRecentCommitMessage(self):
         """
         Private method to get the most recent commit message.

eric ide

mercurial