~abentley/bzrtools/bzrtools.dev

711 by Aaron Bentley
Implement create-mirror command
1
from bzrlib.transport import get_transport
2
3
4
def create_mirror(source_branch, target_location, possible_transports):
5
    possible_transports.append(source_branch.bzrdir.root_transport)
6
    t = get_transport(target_location, possible_transports)
7
    mirror = source_branch.bzrdir.clone_on_transport(t).open_branch()
8
    mirror.set_public_branch(source_branch.base)
9
    mirror.set_parent(source_branch.base)
10
    if source_branch.get_config().has_explicit_nickname():
11
        mirror.nick = source_branch.nick
712 by Aaron Bentley
Copy submit branch in create_mirror.
12
    mirror.set_submit_branch(source_branch.get_submit_branch())
716 by Aaron Bentley
Mirror the child_submit_to setting.
13
    source_config = source_branch.get_config()
14
    child_submit_to = source_config.get_user_option('child_submit_to')
15
    if child_submit_to is not None:
16
        mirror.get_config().set_user_option('child_submit_to', child_submit_to)
711 by Aaron Bentley
Implement create-mirror command
17
    return mirror