982
994
class cmd_merge(Command):
983
"""Perform a three-way merge of trees."""
984
takes_args = ['other_spec', 'base_spec']
986
def run(self, other_spec, base_spec):
995
"""Perform a three-way merge of trees.
997
The SPEC parameters are working tree or revision specifiers. Working trees
998
are specified using standard paths or urls. No component of a directory
999
path may begin with '@'.
1001
Working tree examples: '.', '..', 'foo@', but NOT 'foo/@bar'
1003
Revisions are specified using a dirname/@revno pair, where dirname is the
1004
branch directory and revno is the revision within that branch. If no revno
1005
is specified, the latest revision is used.
1007
Revision examples: './@127', 'foo/@', '../@1'
1009
The OTHER_SPEC parameter is required. If the BASE_SPEC parameter is
1010
not supplied, the common ancestor of OTHER_SPEC the current branch is used
1013
takes_args = ['other_spec', 'base_spec?']
1015
def run(self, other_spec, base_spec=None):
987
1016
from bzrlib.merge import merge
988
1017
merge(parse_spec(other_spec), parse_spec(base_spec))
1020
class cmd_revert(Command):
1022
Reverse all changes since the last commit. Only versioned files are
1025
takes_options = ['revision']
1027
def run(self, revision=-1):
1028
merge.merge(('.', revision), parse_spec('.'), no_changes=False,
990
1032
class cmd_assert_fail(Command):
991
1033
"""Test reporting of assertion failures"""