BzrSync是一个工具,以帮助义卖使用多台机器上的开发人员。它会自动保持选定存储库和分支机构遍布全球的机器同步。巴扎本身被用于同步(用“BZR拉”),以确保在任何时候都保持一致。
安装
要使用PIP安装BzrSync的最新稳定版,:
PIP安装bzrsync
或者使用setuptools的:
easy_install的bzrsync
否则,如果没有点子也不setuptools的是可用的,就可以下载源包,将其提取,并运行通常setup.py命令(例如来自PyPI上。):
蟒蛇setup.py安装
用法
让我们假设你从三个不同的工作站工作,他们的主机名是α,β和γ。你要保持你的巴扎库和采用BzrSync三个节点之间同步分支。 BzrSync,就是要与共享库使用,所以如果你不使用这些,你应该重新组织你的分支使用共享存储库。它更容易让所有的同一个目录内的存储库。在我们的例子中,我们将库驻留在〜/的bzr,他们的名字将在“.bzr”结束。在每个共享库,在顶层应该有每个节点的目录中。在我们的例子中的α,β和γ。例如,假设我们有一个名为“项目foo.bzr”库。我们正在努力阿尔法,并创建了一个行李箱和一个功能1支。我们将有:
〜/ BZR /项目foo.bzr /
〜/ BZR /项目foo.bzr /阿尔法
〜/ BZR /项目foo.bzr /阿尔法/后备箱
〜/ BZR /项目foo.bzr /字母/功能-1
〜/ BZR /项目foo.bzr /公测
〜/ BZR /项目foo.bzr /伽玛
让我们假设,我们也有我们不希望同步,在任一方向local.bzr库。
BzrSync需要一个YAML配置文件,在默认情况下〜/ .bazaar / bzrsync.yaml,列出仓库和分支机构我们。在本实施例中它的内容将是:
#远程节点
#(一台主机可以使用可选的端口作为东道主指定:PORT)
主机:
- 阿尔法
- β
- 伽马
#在这里使用相对路径/模式指定的仓库位于
根:〜/ BZR
#*所有的*仓库
库:“* .bzr”
#特定的仓库从'库'排除
排除:
- local.bzr
#库导出到远程节点
出口:“* .bzr”
排除出口#特定的存储库
export_exclude:
- local.bzr
#库,从遥控器同步
同步:“* .bzr”
排除同步#特定的存储库
sync_exclude:
- local.bzr
我们都可以三个节点上使用的正是这种相同的配置文件。
BzrSync不会创建共享存储库你,所以才继续,那么现在所有的节点上,记住还创建节点子目录。
然后启动BzrSync守护所有节点上:
阿尔法$ bzrsync服务
公测$ bzrsync服务
伽玛$ bzrsync服务
现在让我们同步项目foo.bzr从阿尔法测试:
 测试$ bzrsync同步〜/的bzr /项目foo.bzr
这将拉来测试所有的树枝从〜/的bzr /项目foo.bzr /阿尔法/ Alpha上,并从〜/的bzr /项目foo.bzr /伽玛/所有分支伽马。在我们的例子中,只有阿尔法拥有分支机构的权利,因此在实践中,我们会得到分支的α/躯干和α/功能-1从阿尔法测试,让他们如α/躯干和α/功能-1。
如果你想工作的测试,现在从新同步分行对口公测/子目录里面的分支:
公测$的bzr分支〜/的bzr /项目foo.bzr /字母/功能1〜/的bzr /项目foo.bzr /测试/功能-1
公测$ BZR共同〜/的bzr /项目foo.bzr /测试/功能-1 FOO-功能1
公测$ CD FOO-功能1
...
黑客黑客破解
...
公测$提交
现在公测,我们将有:
〜/ BZR /项目foo.bzr /
〜/ BZR /项目foo.bzr /阿尔法
〜/ BZR /项目foo.bzr /阿尔法/后备箱
〜/ BZR /项目foo.bzr /字母/功能-1
〜/ BZR /项目foo.bzr /公测
〜/ BZR /项目foo.bzr /测试/功能-1
〜/ BZR /项目foo.bzr /伽玛
当您完成工作的公测,你可以从阿尔法同步:
 阿尔法$ bzrsync同步〜/的bzr /项目foo.bzr
这将创建测试/功能-1阿尔法太,你可以拉到的α/功能-1,如果没有分歧,或以其他方式将其合并,并开始从阿尔法再次合作。
请参阅bzrsync.yaml文件进行更完整的例子,其中还包括分支套的例子
功能:
- 在任何支持机器的数量
- 一致性保证在任何时候
要求:
- 在Python的
评论没有发现