Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/commands.py @ 10379:a78bfaf988e1
add -b/--branch option to clone, bundle, incoming, outgoing, pull, push
author | Sune Foldager <cryo@cyanite.org> |
---|---|
date | Sun, 07 Feb 2010 15:23:46 +0100 |
parents | a2950e053614 |
children | 832f35386067 |
comparison
equal
deleted
inserted
replaced
10377:04e1e6743809 | 10379:a78bfaf988e1 |
---|---|
536 if p not in seen: | 536 if p not in seen: |
537 seen[p] = 1 | 537 seen[p] = 1 |
538 visit.append(p) | 538 visit.append(p) |
539 else: | 539 else: |
540 dest = ui.expandpath(dest or 'default-push', dest or 'default') | 540 dest = ui.expandpath(dest or 'default-push', dest or 'default') |
541 dest, branches = hg.parseurl(dest) | 541 dest, branches = hg.parseurl(dest, opts.get('branch')) |
542 other = hg.repository(cmdutil.remoteui(repo, opts), dest) | 542 other = hg.repository(cmdutil.remoteui(repo, opts), dest) |
543 revs, checkout = hg.addbranchrevs(repo, other, branches, revs) | 543 revs, checkout = hg.addbranchrevs(repo, other, branches, revs) |
544 o = repo.findoutgoing(other, force=opts.get('force')) | 544 o = repo.findoutgoing(other, force=opts.get('force')) |
545 | 545 |
546 if revs: | 546 if revs: |
605 will be the null changeset). Otherwise, clone will initially check | 605 will be the null changeset). Otherwise, clone will initially check |
606 out (in order of precedence): | 606 out (in order of precedence): |
607 | 607 |
608 a) the changeset, tag or branch specified with -u/--updaterev | 608 a) the changeset, tag or branch specified with -u/--updaterev |
609 b) the changeset, tag or branch given with the first -r/--rev | 609 b) the changeset, tag or branch given with the first -r/--rev |
610 c) the branch given with the url#branch source syntax | 610 c) the branch given with the first -b/--branch |
611 d) the head of the default branch | 611 d) the branch given with the url#branch source syntax |
612 e) the head of the default branch | |
612 | 613 |
613 Use 'hg clone -u . src dst' to checkout the source repository's | 614 Use 'hg clone -u . src dst' to checkout the source repository's |
614 parent changeset (applicable for local source repositories only). | 615 parent changeset (applicable for local source repositories only). |
615 | 616 |
616 A set of changesets (tags, or branch names) to pull may be specified | 617 A set of changesets (tags, or branch names) to pull may be specified |
649 | 650 |
650 hg.clone(cmdutil.remoteui(ui, opts), source, dest, | 651 hg.clone(cmdutil.remoteui(ui, opts), source, dest, |
651 pull=opts.get('pull'), | 652 pull=opts.get('pull'), |
652 stream=opts.get('uncompressed'), | 653 stream=opts.get('uncompressed'), |
653 rev=opts.get('rev'), | 654 rev=opts.get('rev'), |
654 update=opts.get('updaterev') or not opts.get('noupdate')) | 655 update=opts.get('updaterev') or not opts.get('noupdate'), |
656 branch=opts.get('branch')) | |
655 | 657 |
656 def commit(ui, repo, *pats, **opts): | 658 def commit(ui, repo, *pats, **opts): |
657 """commit the specified files or all outstanding changes | 659 """commit the specified files or all outstanding changes |
658 | 660 |
659 Commit changes to the given files into the repository. Unlike a | 661 Commit changes to the given files into the repository. Unlike a |
1919 changesets twice if the incoming is followed by a pull. | 1921 changesets twice if the incoming is followed by a pull. |
1920 | 1922 |
1921 See pull for valid source format details. | 1923 See pull for valid source format details. |
1922 """ | 1924 """ |
1923 limit = cmdutil.loglimit(opts) | 1925 limit = cmdutil.loglimit(opts) |
1924 source, branches = hg.parseurl(ui.expandpath(source)) | 1926 source, branches = hg.parseurl(ui.expandpath(source), opts.get('branch')) |
1925 other = hg.repository(cmdutil.remoteui(repo, opts), source) | 1927 other = hg.repository(cmdutil.remoteui(repo, opts), source) |
1926 ui.status(_('comparing with %s\n') % url.hidepassword(source)) | 1928 ui.status(_('comparing with %s\n') % url.hidepassword(source)) |
1927 revs, checkout = hg.addbranchrevs(repo, other, branches, opts.get('rev')) | 1929 revs, checkout = hg.addbranchrevs(repo, other, branches, opts.get('rev')) |
1928 if revs: | 1930 if revs: |
1929 revs = [other.lookup(rev) for rev in revs] | 1931 revs = [other.lookup(rev) for rev in revs] |
2208 | 2210 |
2209 See pull for details of valid destination formats. | 2211 See pull for details of valid destination formats. |
2210 """ | 2212 """ |
2211 limit = cmdutil.loglimit(opts) | 2213 limit = cmdutil.loglimit(opts) |
2212 dest = ui.expandpath(dest or 'default-push', dest or 'default') | 2214 dest = ui.expandpath(dest or 'default-push', dest or 'default') |
2213 dest, branches = hg.parseurl(dest) | 2215 dest, branches = hg.parseurl(dest, opts.get('branch')) |
2214 revs, checkout = hg.addbranchrevs(repo, repo, branches, opts.get('rev')) | 2216 revs, checkout = hg.addbranchrevs(repo, repo, branches, opts.get('rev')) |
2215 if revs: | 2217 if revs: |
2216 revs = [repo.lookup(rev) for rev in revs] | 2218 revs = [repo.lookup(rev) for rev in revs] |
2217 | 2219 |
2218 other = hg.repository(cmdutil.remoteui(repo, opts), dest) | 2220 other = hg.repository(cmdutil.remoteui(repo, opts), dest) |
2328 where X is the last changeset listed by hg incoming. | 2330 where X is the last changeset listed by hg incoming. |
2329 | 2331 |
2330 If SOURCE is omitted, the 'default' path will be used. | 2332 If SOURCE is omitted, the 'default' path will be used. |
2331 See 'hg help urls' for more information. | 2333 See 'hg help urls' for more information. |
2332 """ | 2334 """ |
2333 source, branches = hg.parseurl(ui.expandpath(source)) | 2335 source, branches = hg.parseurl(ui.expandpath(source), opts.get('branch')) |
2334 other = hg.repository(cmdutil.remoteui(repo, opts), source) | 2336 other = hg.repository(cmdutil.remoteui(repo, opts), source) |
2335 ui.status(_('pulling from %s\n') % url.hidepassword(source)) | 2337 ui.status(_('pulling from %s\n') % url.hidepassword(source)) |
2336 revs, checkout = hg.addbranchrevs(repo, other, branches, opts.get('rev')) | 2338 revs, checkout = hg.addbranchrevs(repo, other, branches, opts.get('rev')) |
2337 if revs: | 2339 if revs: |
2338 try: | 2340 try: |
2366 | 2368 |
2367 Please see 'hg help urls' for important details about ``ssh://`` | 2369 Please see 'hg help urls' for important details about ``ssh://`` |
2368 URLs. If DESTINATION is omitted, a default path will be used. | 2370 URLs. If DESTINATION is omitted, a default path will be used. |
2369 """ | 2371 """ |
2370 dest = ui.expandpath(dest or 'default-push', dest or 'default') | 2372 dest = ui.expandpath(dest or 'default-push', dest or 'default') |
2371 dest, branches = hg.parseurl(dest) | 2373 dest, branches = hg.parseurl(dest, opts.get('branch')) |
2372 revs, checkout = hg.addbranchrevs(repo, repo, branches, opts.get('rev')) | 2374 revs, checkout = hg.addbranchrevs(repo, repo, branches, opts.get('rev')) |
2373 other = hg.repository(cmdutil.remoteui(repo, opts), dest) | 2375 other = hg.repository(cmdutil.remoteui(repo, opts), dest) |
2374 ui.status(_('pushing to %s\n') % url.hidepassword(dest)) | 2376 ui.status(_('pushing to %s\n') % url.hidepassword(dest)) |
2375 if revs: | 2377 if revs: |
2376 revs = [repo.lookup(rev) for rev in revs] | 2378 revs = [repo.lookup(rev) for rev in revs] |
3413 (bundle, | 3415 (bundle, |
3414 [('f', 'force', None, | 3416 [('f', 'force', None, |
3415 _('run even when the destination is unrelated')), | 3417 _('run even when the destination is unrelated')), |
3416 ('r', 'rev', [], | 3418 ('r', 'rev', [], |
3417 _('a changeset intended to be added to the destination')), | 3419 _('a changeset intended to be added to the destination')), |
3420 ('b', 'branch', [], | |
3421 _('a specific branch you would like to bundle')), | |
3418 ('', 'base', [], | 3422 ('', 'base', [], |
3419 _('a base changeset assumed to be available at the destination')), | 3423 _('a base changeset assumed to be available at the destination')), |
3420 ('a', 'all', None, _('bundle all changesets in the repository')), | 3424 ('a', 'all', None, _('bundle all changesets in the repository')), |
3421 ('t', 'type', 'bzip2', _('bundle compression type to use')), | 3425 ('t', 'type', 'bzip2', _('bundle compression type to use')), |
3422 ] + remoteopts, | 3426 ] + remoteopts, |
3434 _('the clone will include an empty working copy (only a repository)')), | 3438 _('the clone will include an empty working copy (only a repository)')), |
3435 ('u', 'updaterev', '', | 3439 ('u', 'updaterev', '', |
3436 _('revision, tag or branch to check out')), | 3440 _('revision, tag or branch to check out')), |
3437 ('r', 'rev', [], | 3441 ('r', 'rev', [], |
3438 _('include the specified changeset')), | 3442 _('include the specified changeset')), |
3443 ('b', 'branch', [], | |
3444 _('clone only the specified branch')), | |
3439 ('', 'pull', None, _('use pull protocol to copy metadata')), | 3445 ('', 'pull', None, _('use pull protocol to copy metadata')), |
3440 ('', 'uncompressed', None, | 3446 ('', 'uncompressed', None, |
3441 _('use uncompressed transfer (fast over LAN)')), | 3447 _('use uncompressed transfer (fast over LAN)')), |
3442 ] + remoteopts, | 3448 ] + remoteopts, |
3443 _('[OPTION]... SOURCE [DEST]')), | 3449 _('[OPTION]... SOURCE [DEST]')), |
3565 _('run even if remote repository is unrelated')), | 3571 _('run even if remote repository is unrelated')), |
3566 ('n', 'newest-first', None, _('show newest record first')), | 3572 ('n', 'newest-first', None, _('show newest record first')), |
3567 ('', 'bundle', '', _('file to store the bundles into')), | 3573 ('', 'bundle', '', _('file to store the bundles into')), |
3568 ('r', 'rev', [], | 3574 ('r', 'rev', [], |
3569 _('a remote changeset intended to be added')), | 3575 _('a remote changeset intended to be added')), |
3576 ('b', 'branch', [], | |
3577 _('a specific branch you would like to pull')), | |
3570 ] + logopts + remoteopts, | 3578 ] + logopts + remoteopts, |
3571 _('[-p] [-n] [-M] [-f] [-r REV]...' | 3579 _('[-p] [-n] [-M] [-f] [-r REV]...' |
3572 ' [--bundle FILENAME] [SOURCE]')), | 3580 ' [--bundle FILENAME] [SOURCE]')), |
3573 "^init": | 3581 "^init": |
3574 (init, | 3582 (init, |
3619 [('f', 'force', None, | 3627 [('f', 'force', None, |
3620 _('run even when the destination is unrelated')), | 3628 _('run even when the destination is unrelated')), |
3621 ('r', 'rev', [], | 3629 ('r', 'rev', [], |
3622 _('a changeset intended to be included in the destination')), | 3630 _('a changeset intended to be included in the destination')), |
3623 ('n', 'newest-first', None, _('show newest record first')), | 3631 ('n', 'newest-first', None, _('show newest record first')), |
3632 ('b', 'branch', [], | |
3633 _('a specific branch you would like to push')), | |
3624 ] + logopts + remoteopts, | 3634 ] + logopts + remoteopts, |
3625 _('[-M] [-p] [-n] [-f] [-r REV]... [DEST]')), | 3635 _('[-M] [-p] [-n] [-f] [-r REV]... [DEST]')), |
3626 "parents": | 3636 "parents": |
3627 (parents, | 3637 (parents, |
3628 [('r', 'rev', '', _('show parents of the specified revision')), | 3638 [('r', 'rev', '', _('show parents of the specified revision')), |
3635 _('update to new branch head if changesets were pulled')), | 3645 _('update to new branch head if changesets were pulled')), |
3636 ('f', 'force', None, | 3646 ('f', 'force', None, |
3637 _('run even when remote repository is unrelated')), | 3647 _('run even when remote repository is unrelated')), |
3638 ('r', 'rev', [], | 3648 ('r', 'rev', [], |
3639 _('a remote changeset intended to be added')), | 3649 _('a remote changeset intended to be added')), |
3650 ('b', 'branch', [], | |
3651 _('a specific branch you would like to pull')), | |
3640 ] + remoteopts, | 3652 ] + remoteopts, |
3641 _('[-u] [-f] [-r REV]... [-e CMD] [--remotecmd CMD] [SOURCE]')), | 3653 _('[-u] [-f] [-r REV]... [-e CMD] [--remotecmd CMD] [SOURCE]')), |
3642 "^push": | 3654 "^push": |
3643 (push, | 3655 (push, |
3644 [('f', 'force', None, _('force push')), | 3656 [('f', 'force', None, _('force push')), |
3645 ('r', 'rev', [], | 3657 ('r', 'rev', [], |
3646 _('a changeset intended to be included in the destination')), | 3658 _('a changeset intended to be included in the destination')), |
3659 ('b', 'branch', [], | |
3660 _('a specific branch you would like to push')), | |
3647 ] + remoteopts, | 3661 ] + remoteopts, |
3648 _('[-f] [-r REV]... [-e CMD] [--remotecmd CMD] [DEST]')), | 3662 _('[-f] [-r REV]... [-e CMD] [--remotecmd CMD] [DEST]')), |
3649 "recover": (recover, []), | 3663 "recover": (recover, []), |
3650 "^remove|rm": | 3664 "^remove|rm": |
3651 (remove, | 3665 (remove, |