comparison mercurial/commands.py @ 6217:fe8dbbe9520d

Avoid importing mercurial.node/mercurial.repo stuff from mercurial.hg
author Joel Rosdahl <joel@rosdahl.net>
date Thu, 06 Mar 2008 22:51:16 +0100
parents e75aab656f46
children 1939e29151ca
comparison
equal deleted inserted replaced
6216:a88259018f79 6217:fe8dbbe9520d
4 # 4 #
5 # This software may be used and distributed according to the terms 5 # This software may be used and distributed according to the terms
6 # of the GNU General Public License, incorporated herein by reference. 6 # of the GNU General Public License, incorporated herein by reference.
7 7
8 from node import hex, nullid, nullrev, short 8 from node import hex, nullid, nullrev, short
9 from repo import RepoError
9 from i18n import _ 10 from i18n import _
10 import os, re, sys, urllib 11 import os, re, sys, urllib
11 import hg, util, revlog, bundlerepo, extensions 12 import hg, util, revlog, bundlerepo, extensions
12 import difflib, patch, time, help, mdiff, tempfile 13 import difflib, patch, time, help, mdiff, tempfile
13 import version, socket 14 import version, socket
309 f = repo.opener("bisect.state", "w", atomictemp=True) 310 f = repo.opener("bisect.state", "w", atomictemp=True)
310 wlock = repo.wlock() 311 wlock = repo.wlock()
311 try: 312 try:
312 for kind in state: 313 for kind in state:
313 for node in state[kind]: 314 for node in state[kind]:
314 f.write("%s %s\n" % (kind, hg.hex(node))) 315 f.write("%s %s\n" % (kind, hex(node)))
315 f.rename() 316 f.rename()
316 finally: 317 finally:
317 del wlock 318 del wlock
318 319
319 if not state['good'] or not state['bad']: 320 if not state['good'] or not state['bad']:
331 while size <= changesets: 332 while size <= changesets:
332 tests, size = tests + 1, size * 2 333 tests, size = tests + 1, size * 2
333 rev = repo.changelog.rev(node) 334 rev = repo.changelog.rev(node)
334 ui.write(_("Testing changeset %s:%s " 335 ui.write(_("Testing changeset %s:%s "
335 "(%s changesets remaining, ~%s tests)\n") 336 "(%s changesets remaining, ~%s tests)\n")
336 % (rev, hg.short(node), changesets, tests)) 337 % (rev, short(node), changesets, tests))
337 if not noupdate: 338 if not noupdate:
338 cmdutil.bail_if_changed(repo) 339 cmdutil.bail_if_changed(repo)
339 return hg.clean(repo, node) 340 return hg.clean(repo, node)
340 341
341 def branch(ui, repo, label=None, **opts): 342 def branch(ui, repo, label=None, **opts):
1520 try: 1521 try:
1521 p1 = repo.lookup(p1) 1522 p1 = repo.lookup(p1)
1522 p2 = repo.lookup(p2) 1523 p2 = repo.lookup(p2)
1523 if p1 == wp[0].node(): 1524 if p1 == wp[0].node():
1524 repo.dirstate.setparents(p1, p2) 1525 repo.dirstate.setparents(p1, p2)
1525 except hg.RepoError: 1526 except RepoError:
1526 pass 1527 pass
1527 if opts.get('exact') or opts.get('import_branch'): 1528 if opts.get('exact') or opts.get('import_branch'):
1528 repo.dirstate.setbranch(branch or 'default') 1529 repo.dirstate.setbranch(branch or 'default')
1529 1530
1530 files = {} 1531 files = {}
2435 stderr. Use the "-A" and "-E" options to log to files. 2436 stderr. Use the "-A" and "-E" options to log to files.
2436 """ 2437 """
2437 2438
2438 if opts["stdio"]: 2439 if opts["stdio"]:
2439 if repo is None: 2440 if repo is None:
2440 raise hg.RepoError(_("There is no Mercurial repository here" 2441 raise RepoError(_("There is no Mercurial repository here"
2441 " (.hg not found)")) 2442 " (.hg not found)"))
2442 s = sshserver.sshserver(ui, repo) 2443 s = sshserver.sshserver(ui, repo)
2443 s.serve_forever() 2444 s.serve_forever()
2444 2445
2445 parentui = ui.parentui or ui 2446 parentui = ui.parentui or ui
2446 optlist = ("name templates style address port prefix ipv6" 2447 optlist = ("name templates style address port prefix ipv6"
2450 parentui.setconfig("web", o, str(opts[o])) 2451 parentui.setconfig("web", o, str(opts[o]))
2451 if (repo is not None) and (repo.ui != parentui): 2452 if (repo is not None) and (repo.ui != parentui):
2452 repo.ui.setconfig("web", o, str(opts[o])) 2453 repo.ui.setconfig("web", o, str(opts[o]))
2453 2454
2454 if repo is None and not ui.config("web", "webdir_conf"): 2455 if repo is None and not ui.config("web", "webdir_conf"):
2455 raise hg.RepoError(_("There is no Mercurial repository here" 2456 raise RepoError(_("There is no Mercurial repository here"
2456 " (.hg not found)")) 2457 " (.hg not found)"))
2457 2458
2458 class service: 2459 class service:
2459 def init(self): 2460 def init(self):
2460 util.set_signal_handler() 2461 util.set_signal_handler()
2461 try: 2462 try: