~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/builtins.py

  • Committer: John Arbash Meinel
  • Date: 2007-04-12 20:36:40 UTC
  • mfrom: (2413 +trunk)
  • mto: This revision was merged to the branch mainline in revision 2566.
  • Revision ID: john@arbash-meinel.com-20070412203640-z1jld315288moxvy
[merge] bzr.dev 2413

Show diffs side-by-side

added added

removed removed

Lines of Context:
218
218
    @display_command
219
219
    def run(self, revision_id=None, revision=None):
220
220
 
 
221
        revision_id = osutils.safe_revision_id(revision_id, warn=False)
221
222
        if revision_id is not None and revision is not None:
222
223
            raise errors.BzrCommandError('You can only supply one of'
223
224
                                         ' revision_id or --revision')
243
244
 
244
245
    Since a lightweight checkout is little more than a working tree
245
246
    this will refuse to run against one.
 
247
 
 
248
    To re-create the working tree, use "bzr checkout".
246
249
    """
247
250
 
248
251
    takes_args = ['location?']
338
341
 
339
342
    --file-ids-from will try to use the file ids from the supplied path.
340
343
    It looks up ids trying to find a matching parent directory with the
341
 
    same filename, and then by pure path.
 
344
    same filename, and then by pure path. This option is rarely needed
 
345
    but can be useful when adding the same logical file into two
 
346
    branches that will be merged later (without showing the two different
 
347
    adds as a conflict). It is also useful when merging another project
 
348
    into a subdirectory of this one.
342
349
    """
343
350
    takes_args = ['file*']
344
351
    takes_options = ['no-recurse', 'dry-run', 'verbose',
1914
1921
    given, try to find the format with the extension. If no extension
1915
1922
    is found exports to a directory (equivalent to --format=dir).
1916
1923
 
1917
 
    Root may be the top directory for tar, tgz and tbz2 formats. If none
1918
 
    is given, the top directory will be the root name of the file.
 
1924
    If root is supplied, it will be used as the root directory inside
 
1925
    container formats (tar, zip, etc). If it is not supplied it will default
 
1926
    to the exported filename. The root option has no effect for 'dir' format.
1919
1927
 
1920
1928
    If branch is omitted then the branch containing the current working
1921
1929
    directory will be used.
1922
1930
 
1923
 
    Note: export of tree with non-ascii filenames to zip is not supported.
 
1931
    Note: Export of tree with non-ASCII filenames to zip is not supported.
1924
1932
 
1925
1933
     Supported formats       Autodetected by extension
1926
1934
     -----------------       -------------------------
2028
2036
    within it is committed.
2029
2037
 
2030
2038
    A selected-file commit may fail in some cases where the committed
2031
 
    tree would be invalid, such as trying to commit a file in a
2032
 
    newly-added directory that is not itself committed.
 
2039
    tree would be invalid. Consider::
 
2040
 
 
2041
      bzr init foo
 
2042
      mkdir foo/bar
 
2043
      bzr add foo/bar
 
2044
      bzr commit foo -m "committing foo"
 
2045
      bzr mv foo/bar foo/baz
 
2046
      mkdir foo/bar
 
2047
      bzr add foo/bar
 
2048
      bzr commit foo/bar -m "committing bar but not baz"
 
2049
 
 
2050
    In the example above, the last commit will fail by design. This gives
 
2051
    the user the opportunity to decide whether they want to commit the
 
2052
    rename at the same time, separately first, or not at all. (As a general
 
2053
    rule, when in doubt, Bazaar has a policy of Doing the Safe Thing.)
 
2054
 
 
2055
    Note: A selected-file commit after a merge is not yet supported.
2033
2056
    """
2034
2057
    # TODO: Run hooks on tree to-be-committed, and after commit.
2035
2058
 
2453
2476
 
2454
2477
    Examples:
2455
2478
 
2456
 
    To merge the latest revision from bzr.dev
2457
 
    bzr merge ../bzr.dev
 
2479
    To merge the latest revision from bzr.dev:
 
2480
        bzr merge ../bzr.dev
2458
2481
 
2459
 
    To merge changes up to and including revision 82 from bzr.dev
2460
 
    bzr merge -r 82 ../bzr.dev
 
2482
    To merge changes up to and including revision 82 from bzr.dev:
 
2483
        bzr merge -r 82 ../bzr.dev
2461
2484
 
2462
2485
    To merge the changes introduced by 82, without previous changes:
2463
 
    bzr merge -r 81..82 ../bzr.dev
 
2486
        bzr merge -r 81..82 ../bzr.dev
2464
2487
    
2465
2488
    merge refuses to run if there are any uncommitted changes, unless
2466
2489
    --force is given.
2632
2655
    pending merge, and it lets you specify particular files.
2633
2656
 
2634
2657
    Examples:
 
2658
 
2635
2659
    $ bzr remerge --show-base
2636
2660
        Re-do the merge of all conflicted files, and show the base text in
2637
2661
        conflict regions, in addition to the usual THIS and OTHER texts.
3224
3248
        ]
3225
3249
 
3226
3250
    def run(self, port=None, inet=False, directory=None, allow_writes=False):
3227
 
        from bzrlib.transport import smart
 
3251
        from bzrlib.smart import server, medium
3228
3252
        from bzrlib.transport import get_transport
 
3253
        from bzrlib.transport.remote import BZR_DEFAULT_PORT
3229
3254
        if directory is None:
3230
3255
            directory = os.getcwd()
3231
3256
        url = urlutils.local_path_to_url(directory)
3233
3258
            url = 'readonly+' + url
3234
3259
        t = get_transport(url)
3235
3260
        if inet:
3236
 
            server = smart.SmartServerPipeStreamMedium(sys.stdin, sys.stdout, t)
 
3261
            smart_server = medium.SmartServerPipeStreamMedium(
 
3262
                sys.stdin, sys.stdout, t)
3237
3263
        else:
3238
3264
            if port is None:
3239
 
                port = smart.BZR_DEFAULT_PORT
 
3265
                port = BZR_DEFAULT_PORT
3240
3266
                host = '127.0.0.1'
3241
3267
            else:
3242
3268
                if ':' in port:
3244
3270
                else:
3245
3271
                    host = '127.0.0.1'
3246
3272
                port = int(port)
3247
 
            server = smart.SmartTCPServer(t, host=host, port=port)
3248
 
            print 'listening on port: ', server.port
 
3273
            smart_server = server.SmartTCPServer(t, host=host, port=port)
 
3274
            print 'listening on port: ', smart_server.port
3249
3275
            sys.stdout.flush()
3250
 
        server.serve()
 
3276
        smart_server.serve()
3251
3277
 
3252
3278
class cmd_join(Command):
3253
3279
    """Combine a subtree into its containing tree.