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"))