~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/commit_signature_commands.py

  • Committer: Ross Lagerwall
  • Date: 2012-08-07 06:32:51 UTC
  • mto: (6437.63.5 2.5)
  • mto: This revision was merged to the branch mainline in revision 6558.
  • Revision ID: rosslagerwall@gmail.com-20120807063251-x9p03ghg2ws8oqjc
Add bzrlib/locale to .bzrignore

bzrlib/locale is generated with ./setup.py build_mo which is in turn called
by ./setup.py build

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
 
20
20
from __future__ import absolute_import
21
21
 
 
22
from bzrlib.lazy_import import lazy_import
 
23
lazy_import(globals(), """
22
24
from bzrlib import (
23
25
    controldir,
24
26
    errors,
25
27
    gpg,
26
28
    revision as _mod_revision,
27
29
    )
 
30
""")
28
31
from bzrlib.commands import Command
29
32
from bzrlib.option import Option
30
33
from bzrlib.i18n import gettext, ngettext
31
34
 
32
 
 
33
35
class cmd_sign_my_commits(Command):
34
36
    __doc__ = """Sign all commits by a given committer.
35
37
 
57
59
            bzrdir = controldir.ControlDir.open(location)
58
60
        branch = bzrdir.open_branch()
59
61
        repo = branch.repository
60
 
        branch_config = branch.get_config_stack()
 
62
        branch_config = branch.get_config()
61
63
 
62
64
        if committer is None:
63
 
            committer = branch_config.get('email')
64
 
        gpg_strategy = gpg.GPGStrategy(branch_config)
 
65
            committer = branch_config.username()
 
66
        gpg_strategy = gpg.GPGStrategy(branch.get_config_stack())
65
67
 
66
68
        count = 0
67
69
        repo.lock_write()
83
85
                        continue
84
86
                    # We have a revision without a signature who has a
85
87
                    # matching committer, start signing
86
 
                    self.outf.write("%s\n" % rev_id)
 
88
                    print rev_id
87
89
                    count += 1
88
90
                    if not dry_run:
89
91
                        repo.sign_revision(rev_id, gpg_strategy)
94
96
                repo.commit_write_group()
95
97
        finally:
96
98
            repo.unlock()
97
 
        self.outf.write(
98
 
            ngettext('Signed %d revision.\n', 'Signed %d revisions.\n', count) %
99
 
            count)
 
99
        print 'Signed %d revisions' % (count,)
100
100
 
101
101
 
102
102
class cmd_verify_signatures(Command):
111
111
                        ' acceptable for verification.',
112
112
                   short_name='k',
113
113
                   type=str,),
114
 
            'revision',
 
114
            'revision', 
115
115
            'verbose',
116
116
          ]
117
117
    takes_args = ['location?']
131
131
        def write_verbose(string):
132
132
            self.outf.write("  " + string + "\n")
133
133
 
134
 
        self.add_cleanup(repo.lock_read().unlock)
135
134
        #get our list of revisions
136
135
        revisions = []
137
136
        if revision is not None:
152
151
            #all revisions by default including merges
153
152
            graph = repo.get_graph()
154
153
            revisions = []
 
154
            repo.lock_read()
155
155
            for rev_id, parents in graph.iter_ancestry(
156
156
                    [branch.last_revision()]):
157
157
                if _mod_revision.is_null(rev_id):
160
160
                    # Ignore ghosts
161
161
                    continue
162
162
                revisions.append(rev_id)
163
 
        count, result, all_verifiable = gpg.bulk_verify_signatures(
164
 
            repo, revisions, gpg_strategy)
 
163
            repo.unlock()
 
164
        count, result, all_verifiable =\
 
165
                                gpg_strategy.do_verifications(revisions, repo)
165
166
        if all_verifiable:
166
 
               write(gettext("All commits signed with verifiable keys"))
 
167
               write(gettext(
 
168
                            "All commits signed with verifiable keys"))
167
169
               if verbose:
168
 
                   for message in gpg.verbose_valid_message(result):
169
 
                       write_verbose(message)
 
170
                   write(gpg_strategy.verbose_valid_message(result))
170
171
               return 0
171
172
        else:
172
 
            write(gpg.valid_commits_message(count))
173
 
            if verbose:
174
 
               for message in gpg.verbose_valid_message(result):
175
 
                   write_verbose(message)
176
 
            write(gpg.expired_commit_message(count))
177
 
            if verbose:
178
 
               for message in gpg.verbose_expired_key_message(result, repo):
179
 
                   write_verbose(message)
180
 
            write(gpg.unknown_key_message(count))
181
 
            if verbose:
182
 
                for message in gpg.verbose_missing_key_message(result):
 
173
            write(gpg_strategy.valid_commits_message(count))
 
174
            if verbose:
 
175
               for message in gpg_strategy.verbose_valid_message(result):
 
176
                   write_verbose(message)
 
177
            write(gpg_strategy.expired_commit_message(count))
 
178
            if verbose:
 
179
               for message in gpg_strategy.verbose_expired_key_message(result,
 
180
                                                                          repo):
 
181
                   write_verbose(message)
 
182
            write(gpg_strategy.unknown_key_message(count))
 
183
            if verbose:
 
184
                for message in gpg_strategy.verbose_missing_key_message(result):
183
185
                    write_verbose(message)
184
 
            write(gpg.commit_not_valid_message(count))
 
186
            write(gpg_strategy.commit_not_valid_message(count))
185
187
            if verbose:
186
 
                for message in gpg.verbose_not_valid_message(result, repo):
 
188
                for message in gpg_strategy.verbose_not_valid_message(result,
 
189
                                                                        repo):
187
190
                   write_verbose(message)
188
 
            write(gpg.commit_not_signed_message(count))
 
191
            write(gpg_strategy.commit_not_signed_message(count))
189
192
            if verbose:
190
 
                for message in gpg.verbose_not_signed_message(result, repo):
 
193
                for message in gpg_strategy.verbose_not_signed_message(result,
 
194
                                                                          repo):
191
195
                    write_verbose(message)
192
196
            return 1