eric7/Plugins/VcsPlugins/vcsGit/git.py

branch
eric7
changeset 8624
5192a2592324
parent 8621
8c9f41115c04
child 8653
43d556326ded
--- a/eric7/Plugins/VcsPlugins/vcsGit/git.py	Wed Sep 22 19:52:28 2021 +0200
+++ b/eric7/Plugins/VcsPlugins/vcsGit/git.py	Thu Sep 23 18:20:31 2021 +0200
@@ -491,6 +491,44 @@
         self.committed.emit()
         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 vcsUpdate(self, name, noDialog=False, revision=None):
         """
         Public method used to update a file/directory with the Git

eric ide

mercurial