Mercurial > hg
comparison mercurial/commands.py @ 437:5b38a5af4019
Commands cleanup
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Commands cleanup
move patch function to import_
strip underbars from function names in help
remove debugaddchangegroup and debugchangegroup
remove -q option from import
remove some aliases: ann, dump, dumpmanifest, merge, resolve
add rm alias
manifest hash: a3259c52d69be93e272b336098ab8549ec1922bb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCulc9ywK+sNU5EO8RAvLqAJ0fIvuSCYZgXUBubBREL7dfg5y/yQCglYte
AwWOEQJoLGHXbpvPYI1uljo=
=hQeO
-----END PGP SIGNATURE-----
author | mpm@selenic.com |
---|---|
date | Wed, 22 Jun 2005 22:31:25 -0800 |
parents | 688d03d6997a |
children | 470a83212dda |
comparison
equal
deleted
inserted
replaced
436:6aeb4fee51f6 | 437:5b38a5af4019 |
---|---|
176 f = e[0] | 176 f = e[0] |
177 if f.__name__.startswith("debug"): continue | 177 if f.__name__.startswith("debug"): continue |
178 d = "" | 178 d = "" |
179 if f.__doc__: | 179 if f.__doc__: |
180 d = f.__doc__.splitlines(0)[0].rstrip() | 180 d = f.__doc__.splitlines(0)[0].rstrip() |
181 h[f.__name__] = d | 181 h[f.__name__.rstrip("_")] = d |
182 | 182 |
183 fns = h.keys() | 183 fns = h.keys() |
184 fns.sort() | 184 fns.sort() |
185 m = max(map(len, fns)) | 185 m = max(map(len, fns)) |
186 for f in fns: | 186 for f in fns: |
273 | 273 |
274 def copy(ui, repo, source, dest): | 274 def copy(ui, repo, source, dest): |
275 """mark a file as copied or renamed for the next commit""" | 275 """mark a file as copied or renamed for the next commit""" |
276 return repo.copy(*relpath(repo, (source, dest))) | 276 return repo.copy(*relpath(repo, (source, dest))) |
277 | 277 |
278 def debugaddchangegroup(ui, repo): | |
279 data = sys.stdin.read() | |
280 repo.addchangegroup(data) | |
281 | |
282 def debugchangegroup(ui, repo, roots): | |
283 newer = repo.newer(map(repo.lookup, roots)) | |
284 for chunk in repo.changegroup(newer): | |
285 sys.stdout.write(chunk) | |
286 | |
287 def debugindex(ui, file): | 278 def debugindex(ui, file): |
288 r = hg.revlog(hg.opener(""), file, "") | 279 r = hg.revlog(hg.opener(""), file, "") |
289 print " rev offset length base linkrev"+\ | 280 print " rev offset length base linkrev"+\ |
290 " p1 p2 nodeid" | 281 " p1 p2 nodeid" |
291 for i in range(r.count()): | 282 for i in range(r.count()): |
371 # tags for multiple parents separated by ' + ' | 362 # tags for multiple parents separated by ' + ' |
372 output.append(' + '.join(parenttags)) | 363 output.append(' + '.join(parenttags)) |
373 | 364 |
374 ui.write("%s\n" % ' '.join(output)) | 365 ui.write("%s\n" % ' '.join(output)) |
375 | 366 |
367 def import_(ui, repo, patch1, *patches, **opts): | |
368 """import an ordered set of patches""" | |
369 try: | |
370 import psyco | |
371 psyco.full() | |
372 except: | |
373 pass | |
374 | |
375 patches = (patch1,) + patches | |
376 | |
377 d = opts["base"] | |
378 strip = opts["strip"] | |
379 quiet = ui.quiet and "> /dev/null" or "" | |
380 | |
381 for patch in patches: | |
382 ui.status("applying %s\n" % patch) | |
383 pf = os.path.join(d, patch) | |
384 | |
385 text = "" | |
386 for l in file(pf): | |
387 if l[:4] == "--- ": break | |
388 text += l | |
389 | |
390 # make sure text isn't empty | |
391 if not text: text = "imported patch %s\n" % patch | |
392 | |
393 f = os.popen("patch -p%d < %s" % (strip, pf)) | |
394 files = [] | |
395 for l in f.read().splitlines(): | |
396 l.rstrip('\r\n'); | |
397 if not quiet: | |
398 print l | |
399 if l[:14] == 'patching file ': | |
400 files.append(l[14:]) | |
401 f.close() | |
402 | |
403 if len(files) > 0: | |
404 addremove(ui, repo, *files) | |
405 repo.commit(files, text) | |
406 | |
376 def init(ui, source=None, **opts): | 407 def init(ui, source=None, **opts): |
377 """create a new repository or copy an existing one""" | 408 """create a new repository or copy an existing one""" |
378 | 409 |
379 if source: | 410 if source: |
380 paths = {} | 411 paths = {} |
442 p = repo.dirstate.parents() | 473 p = repo.dirstate.parents() |
443 | 474 |
444 for n in p: | 475 for n in p: |
445 if n != hg.nullid: | 476 if n != hg.nullid: |
446 show_changeset(ui, repo, changenode=n) | 477 show_changeset(ui, repo, changenode=n) |
447 | |
448 def patch(ui, repo, patch1, *patches, **opts): | |
449 """import an ordered set of patches""" | |
450 try: | |
451 import psyco | |
452 psyco.full() | |
453 except: | |
454 pass | |
455 | |
456 patches = (patch1,) + patches | |
457 | |
458 d = opts["base"] | |
459 strip = opts["strip"] | |
460 quiet = opts["quiet"] and "> /dev/null" or "" | |
461 | |
462 for patch in patches: | |
463 ui.status("applying %s\n" % patch) | |
464 pf = os.path.join(d, patch) | |
465 | |
466 text = "" | |
467 for l in file(pf): | |
468 if l[:4] == "--- ": break | |
469 text += l | |
470 | |
471 # make sure text isn't empty | |
472 if not text: text = "imported patch %s\n" % patch | |
473 | |
474 f = os.popen("patch -p%d < %s" % (strip, pf)) | |
475 files = [] | |
476 for l in f.read().splitlines(): | |
477 l.rstrip('\r\n'); | |
478 if not quiet: | |
479 print l | |
480 if l[:14] == 'patching file ': | |
481 files.append(l[14:]) | |
482 f.close() | |
483 | |
484 if len(files) > 0: | |
485 addremove(ui, repo, *files) | |
486 repo.commit(files, text) | |
487 | 478 |
488 def pull(ui, repo, source="default", **opts): | 479 def pull(ui, repo, source="default", **opts): |
489 """pull changes from the specified source""" | 480 """pull changes from the specified source""" |
490 paths = {} | 481 paths = {} |
491 for name, path in ui.configitems("paths"): | 482 for name, path in ui.configitems("paths"): |
662 # Command options and aliases are listed here, alphabetically | 653 # Command options and aliases are listed here, alphabetically |
663 | 654 |
664 table = { | 655 table = { |
665 "add": (add, [], "hg add [files]"), | 656 "add": (add, [], "hg add [files]"), |
666 "addremove": (addremove, [], "hg addremove [files]"), | 657 "addremove": (addremove, [], "hg addremove [files]"), |
667 "ann|annotate": (annotate, | 658 "annotate": (annotate, |
668 [('r', 'revision', '', 'revision'), | 659 [('r', 'revision', '', 'revision'), |
669 ('u', 'user', None, 'show user'), | 660 ('u', 'user', None, 'show user'), |
670 ('n', 'number', None, 'show revision number'), | 661 ('n', 'number', None, 'show revision number'), |
671 ('c', 'changeset', None, 'show changeset')], | 662 ('c', 'changeset', None, 'show changeset')], |
672 'hg annotate [-u] [-c] [-n] [-r id] [files]'), | 663 'hg annotate [-u] [-c] [-n] [-r id] [files]'), |
673 "cat|dump": (cat, [], 'hg cat <file> [rev]'), | 664 "cat": (cat, [], 'hg cat <file> [rev]'), |
674 "commit|ci": (commit, | 665 "commit|ci": (commit, |
675 [('t', 'text', "", 'commit text'), | 666 [('t', 'text', "", 'commit text'), |
676 ('A', 'addremove', None, 'run add/remove during commit'), | 667 ('A', 'addremove', None, 'run add/remove during commit'), |
677 ('l', 'logfile', "", 'commit text file'), | 668 ('l', 'logfile', "", 'commit text file'), |
678 ('d', 'date', "", 'data'), | 669 ('d', 'date', "", 'data'), |
679 ('u', 'user', "", 'user')], | 670 ('u', 'user', "", 'user')], |
680 'hg commit [files]'), | 671 'hg commit [files]'), |
681 "copy": (copy, [], 'hg copy <source> <dest>'), | 672 "copy": (copy, [], 'hg copy <source> <dest>'), |
682 "debugaddchangegroup": (debugaddchangegroup, [], 'debugaddchangegroup'), | |
683 "debugchangegroup": (debugchangegroup, [], 'debugchangegroup [roots]'), | |
684 "debugindex": (debugindex, [], 'debugindex <file>'), | 673 "debugindex": (debugindex, [], 'debugindex <file>'), |
685 "debugindexdot": (debugindexdot, [], 'debugindexdot <file>'), | 674 "debugindexdot": (debugindexdot, [], 'debugindexdot <file>'), |
686 "diff": (diff, [('r', 'rev', [], 'revision')], | 675 "diff": (diff, [('r', 'rev', [], 'revision')], |
687 'hg diff [-r A] [-r B] [files]'), | 676 'hg diff [-r A] [-r B] [files]'), |
688 "export": (export, [], "hg export <changeset>"), | 677 "export": (export, [], "hg export <changeset>"), |
689 "forget": (forget, [], "hg forget [files]"), | 678 "forget": (forget, [], "hg forget [files]"), |
690 "heads": (heads, [], 'hg heads'), | 679 "heads": (heads, [], 'hg heads'), |
691 "history": (history, [], 'hg history'), | 680 "history": (history, [], 'hg history'), |
692 "help": (help, [], 'hg help [command]'), | 681 "help": (help, [], 'hg help [command]'), |
693 "identify|id": (identify, [], 'hg identify'), | 682 "identify|id": (identify, [], 'hg identify'), |
683 "import|patch": (import_, | |
684 [('p', 'strip', 1, 'path strip'), | |
685 ('b', 'base', "", 'base path')], | |
686 "hg import [options] <patches>"), | |
694 "init": (init, [('u', 'update', None, 'update after init')], | 687 "init": (init, [('u', 'update', None, 'update after init')], |
695 'hg init [options] [url]'), | 688 'hg init [options] [url]'), |
696 "log": (log, [], 'hg log <file>'), | 689 "log": (log, [], 'hg log <file>'), |
697 "manifest|dumpmanifest": (manifest, [], 'hg manifest [rev]'), | 690 "manifest": (manifest, [], 'hg manifest [rev]'), |
698 "parents": (parents, [], 'hg parents [node]'), | 691 "parents": (parents, [], 'hg parents [node]'), |
699 "patch|import": (patch, | 692 "pull": (pull, |
700 [('p', 'strip', 1, 'path strip'), | |
701 ('b', 'base', "", 'base path'), | |
702 ('q', 'quiet', "", 'silence diff')], | |
703 "hg import [options] patches"), | |
704 "pull|merge": (pull, | |
705 [('u', 'update', None, 'update working directory')], | 693 [('u', 'update', None, 'update working directory')], |
706 'hg pull [options] [source]'), | 694 'hg pull [options] [source]'), |
707 "push": (push, [], 'hg push <destination>'), | 695 "push": (push, [], 'hg push <destination>'), |
708 "rawcommit": (rawcommit, | 696 "rawcommit": (rawcommit, |
709 [('p', 'parent', [], 'parent'), | 697 [('p', 'parent', [], 'parent'), |
712 ('F', 'files', "", 'file list'), | 700 ('F', 'files', "", 'file list'), |
713 ('t', 'text', "", 'commit text'), | 701 ('t', 'text', "", 'commit text'), |
714 ('l', 'logfile', "", 'commit text file')], | 702 ('l', 'logfile', "", 'commit text file')], |
715 'hg rawcommit [options] [files]'), | 703 'hg rawcommit [options] [files]'), |
716 "recover": (recover, [], "hg recover"), | 704 "recover": (recover, [], "hg recover"), |
717 "remove": (remove, [], "hg remove [files]"), | 705 "remove|rm": (remove, [], "hg remove [files]"), |
718 "serve": (serve, [('p', 'port', 8000, 'listen port'), | 706 "serve": (serve, [('p', 'port', 8000, 'listen port'), |
719 ('a', 'address', '', 'interface address'), | 707 ('a', 'address', '', 'interface address'), |
720 ('n', 'name', os.getcwd(), 'repository name'), | 708 ('n', 'name', os.getcwd(), 'repository name'), |
721 ('t', 'templates', "", 'template map')], | 709 ('t', 'templates', "", 'template map')], |
722 "hg serve [options]"), | 710 "hg serve [options]"), |
726 ('u', 'user', "", 'user')], | 714 ('u', 'user', "", 'user')], |
727 'hg tag [options] <name> [rev]'), | 715 'hg tag [options] <name> [rev]'), |
728 "tags": (tags, [], 'hg tags'), | 716 "tags": (tags, [], 'hg tags'), |
729 "tip": (tip, [], 'hg tip'), | 717 "tip": (tip, [], 'hg tip'), |
730 "undo": (undo, [], 'hg undo'), | 718 "undo": (undo, [], 'hg undo'), |
731 "update|up|checkout|co|resolve": (update, | 719 "update|up|checkout|co": |
732 [('m', 'merge', None, | 720 (update, |
733 'allow merging of conflicts'), | 721 [('m', 'merge', None, 'allow merging of conflicts'), |
734 ('C', 'clean', None, | 722 ('C', 'clean', None, 'overwrite locally modified files')], |
735 'overwrite locally modified files')], | 723 'hg update [options] [node]'), |
736 'hg update [options] [node]'), | |
737 "verify": (verify, [], 'hg verify'), | 724 "verify": (verify, [], 'hg verify'), |
738 } | 725 } |
739 | 726 |
740 norepo = "init version help debugindex debugindexdot" | 727 norepo = "init version help debugindex debugindexdot" |
741 | 728 |