/b-gtk/fix-viz

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/b-gtk/fix-viz

« back to all changes in this revision

Viewing changes to commit.py

  • Committer: Vincent Ladeuil
  • Date: 2009-05-28 15:28:13 UTC
  • mto: This revision was merged to the branch mainline in revision 640.
  • Revision ID: v.ladeuil+lp@free.fr-20090528152813-mby2vds040yy887g
Add NEWS entry and do some cleanup.

Show diffs side-by-side

added added

removed removed

Lines of Context:
796
796
 
797
797
 
798
798
class SavedCommitMessagesManager:
799
 
    """Saves global commit message and utf-8 file_id->message dictionary
800
 
    of per-file commit messages on disk. Re-reads them later for re-using."""
 
799
    """Save glogal and per-file commit messages.
 
800
 
 
801
    Saves global commit message and utf-8 file_id->message dictionary
 
802
    of per-file commit messages on disk. Re-reads them later for re-using.
 
803
    """
 
804
 
801
805
    def __init__(self, tree=None, branch=None):
802
806
        """If branch is None, builds empty messages, otherwise reads them
803
807
        from branch's disk storage. 'tree' argument is for the future."""
806
810
            self.file_messages = {}
807
811
        else:
808
812
            config = branch.get_config()._get_branch_data_config()
809
 
            self.global_message = config.get_user_option('gtk_global_commit_message')
 
813
            self.global_message = config.get_user_option(
 
814
                'gtk_global_commit_message')
810
815
            if self.global_message is None:
811
816
                self.global_message = u''
812
817
            file_messages = config.get_user_option('gtk_file_commit_messages')
813
818
            if file_messages: # unicode and B-encoded:
814
 
                self.file_messages = bencode.bdecode(file_messages.encode('UTF-8'))
 
819
                self.file_messages = bencode.bdecode(
 
820
                    file_messages.encode('UTF-8'))
815
821
            else:
816
822
                self.file_messages = {}
 
823
 
817
824
    def get(self):
818
825
        return self.global_message, self.file_messages
 
826
 
819
827
    def is_not_empty(self):
820
828
        return bool(self.global_message or self.file_messages)
 
829
 
821
830
    def insert(self, global_message, file_info):
822
831
        """Formats per-file commit messages (list of dictionaries, one per file)
823
832
        into one utf-8 file_id->message dictionary and merges this with
833
842
            except KeyError:
834
843
                self.file_messages[k] = v
835
844
        if self.global_message:
836
 
            self.global_message = global_message + '\n******\n' + self.global_message
 
845
            self.global_message = global_message + '\n******\n' \
 
846
                + self.global_message
837
847
        else:
838
848
            self.global_message = global_message
 
849
 
839
850
    def save(self, tree, branch):
840
851
        # We store in branch's config, which can be a problem if two gcommit
841
852
        # are done in two checkouts of one single branch (comments overwrite
846
857
        # should it be named "gtk_" or some more neutral name ("gui_" ?) to
847
858
        # be compatible with qbzr in the future?
848
859
        config.set_user_option('gtk_global_commit_message', self.global_message)
849
 
        # bencode() does not know unicode objects but set_user_option() requires one:
850
 
        config.set_user_option('gtk_file_commit_messages',
851
 
                                bencode.bencode(self.file_messages).decode('UTF-8'))
 
860
        # bencode() does not know unicode objects but set_user_option()
 
861
        # requires one:
 
862
        config.set_user_option(
 
863
            'gtk_file_commit_messages',
 
864
            bencode.bencode(self.file_messages).decode('UTF-8'))
852
865
 
853
866
 
854
867
def save_commit_messages(local, master, old_revno, old_revid,