~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/builtins.py

MergeĀ rename-SmartTransportĀ branch.

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.