Mercurial > hg
comparison hgext/gpg.py @ 26587:56b2bcea2529
error: get Abort from 'error' instead of 'util'
The home of 'Abort' is 'error' not 'util' however, a lot of code seems to be
confused about that and gives all the credit to 'util' instead of the
hardworking 'error'. In a spirit of equity, we break the cycle of injustice and
give back to 'error' the respect it deserves. And screw that 'util' poser.
For great justice.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Thu, 08 Oct 2015 12:55:45 -0700 |
parents | 917be0574d7f |
children | ad2627f4af27 |
comparison
equal
deleted
inserted
replaced
26586:d51c658d3f04 | 26587:56b2bcea2529 |
---|---|
4 # GNU General Public License version 2 or any later version. | 4 # GNU General Public License version 2 or any later version. |
5 | 5 |
6 '''commands to sign and verify changesets''' | 6 '''commands to sign and verify changesets''' |
7 | 7 |
8 import os, tempfile, binascii | 8 import os, tempfile, binascii |
9 from mercurial import util, commands, match, cmdutil | 9 from mercurial import util, commands, match, cmdutil, error |
10 from mercurial import node as hgnode | 10 from mercurial import node as hgnode |
11 from mercurial.i18n import _ | 11 from mercurial.i18n import _ |
12 | 12 |
13 cmdtable = {} | 13 cmdtable = {} |
14 command = cmdutil.command(cmdtable) | 14 command = cmdutil.command(cmdtable) |
235 nodes = [repo.lookup(n) for n in revs] | 235 nodes = [repo.lookup(n) for n in revs] |
236 else: | 236 else: |
237 nodes = [node for node in repo.dirstate.parents() | 237 nodes = [node for node in repo.dirstate.parents() |
238 if node != hgnode.nullid] | 238 if node != hgnode.nullid] |
239 if len(nodes) > 1: | 239 if len(nodes) > 1: |
240 raise util.Abort(_('uncommitted merge - please provide a ' | 240 raise error.Abort(_('uncommitted merge - please provide a ' |
241 'specific revision')) | 241 'specific revision')) |
242 if not nodes: | 242 if not nodes: |
243 nodes = [repo.changelog.tip()] | 243 nodes = [repo.changelog.tip()] |
244 | 244 |
245 for n in nodes: | 245 for n in nodes: |
248 hgnode.short(n))) | 248 hgnode.short(n))) |
249 # build data | 249 # build data |
250 data = node2txt(repo, n, sigver) | 250 data = node2txt(repo, n, sigver) |
251 sig = mygpg.sign(data) | 251 sig = mygpg.sign(data) |
252 if not sig: | 252 if not sig: |
253 raise util.Abort(_("error while signing")) | 253 raise error.Abort(_("error while signing")) |
254 sig = binascii.b2a_base64(sig) | 254 sig = binascii.b2a_base64(sig) |
255 sig = sig.replace("\n", "") | 255 sig = sig.replace("\n", "") |
256 sigmessage += "%s %s %s\n" % (hexnode, sigver, sig) | 256 sigmessage += "%s %s %s\n" % (hexnode, sigver, sig) |
257 | 257 |
258 # write it | 258 # write it |
261 return | 261 return |
262 | 262 |
263 if not opts["force"]: | 263 if not opts["force"]: |
264 msigs = match.exact(repo.root, '', ['.hgsigs']) | 264 msigs = match.exact(repo.root, '', ['.hgsigs']) |
265 if any(repo.status(match=msigs, unknown=True, ignored=True)): | 265 if any(repo.status(match=msigs, unknown=True, ignored=True)): |
266 raise util.Abort(_("working copy of .hgsigs is changed "), | 266 raise error.Abort(_("working copy of .hgsigs is changed "), |
267 hint=_("please commit .hgsigs manually")) | 267 hint=_("please commit .hgsigs manually")) |
268 | 268 |
269 sigsfile = repo.wfile(".hgsigs", "ab") | 269 sigsfile = repo.wfile(".hgsigs", "ab") |
270 sigsfile.write(sigmessage) | 270 sigsfile.write(sigmessage) |
271 sigsfile.close() | 271 sigsfile.close() |
285 try: | 285 try: |
286 editor = cmdutil.getcommiteditor(editform='gpg.sign', **opts) | 286 editor = cmdutil.getcommiteditor(editform='gpg.sign', **opts) |
287 repo.commit(message, opts['user'], opts['date'], match=msigs, | 287 repo.commit(message, opts['user'], opts['date'], match=msigs, |
288 editor=editor) | 288 editor=editor) |
289 except ValueError as inst: | 289 except ValueError as inst: |
290 raise util.Abort(str(inst)) | 290 raise error.Abort(str(inst)) |
291 | 291 |
292 def shortkey(ui, key): | 292 def shortkey(ui, key): |
293 if len(key) != 16: | 293 if len(key) != 16: |
294 ui.debug("key ID \"%s\" format error\n" % key) | 294 ui.debug("key ID \"%s\" format error\n" % key) |
295 return key | 295 return key |
299 def node2txt(repo, node, ver): | 299 def node2txt(repo, node, ver): |
300 """map a manifest into some text""" | 300 """map a manifest into some text""" |
301 if ver == "0": | 301 if ver == "0": |
302 return "%s\n" % hgnode.hex(node) | 302 return "%s\n" % hgnode.hex(node) |
303 else: | 303 else: |
304 raise util.Abort(_("unknown signature version")) | 304 raise error.Abort(_("unknown signature version")) |