Bazaar分支下载构建脚本
项目描述
此食谱可用于从Bazaar存储库获取zc.buildout的开发签出。
重要的兼容性更改:请见下文
文档
目标
允许直接从bzr存储库获取egg。
指定的存储库在第一次构建运行时在本地分支。可以使用这些本地分支进行开发并进行本地更改。本地更改可以提交到本地,也可以推送到远程存储库或任何其他位置。
再次运行构建时,分支会自动从远程位置更新(拉取)。如果拉取引起冲突,构建将优雅地继续,但会显示错误消息以通知用户问题。bazaar将记住用于拉取的父分支(拉取)位置,因此可以随时从bzr更改此位置,并且配方将从该点开始使用新位置。
本地更改可以手动推送到远程分支。这并不是强制性的,由用户负责。配方在卸载时不会进行任何检查,也不会删除本地分支。请注意,除非您执行必要的推送,否则您的更改不会向上游传播。
参数与“infrae.subversion”使用的参数类似,也兼容“bazaarrecipe”包。
使用bzr-svn,远程分支也可以是svn分支。因此,实际上它可以用作从本地的svn仓库分支中分叉(尽管,更新的性能将取决于bzr-svn的性能,因此infrae.subversion可能提供更快的操作)。
兼容性更改
默认配方现在进行的是宽松的仓库检查,与最近版本相比。这已在目标中描述。最近版本的重要更改
在更新时,如果“pull”操作不成功,配方将显示带有bzr命令输出的错误,但它不会导致buildout因错误而停止。开发者需要查看此输出,以意识到更新没有发生。
现在不再有卸载。开发者不再被迫提交和推送其更改。请注意,分支永远不会被删除,因此开发者不会以任何方式丢失本地更改,除非她自愿删除该分支。
“严格”配方中仍可使用旧的行为:
[bzr] recipe = gf.recipe.bzr:strict ...
如果您在升级后使用配方时遇到问题,请尝试使用“严格”配方。
用法
用法示例
[bzr] recipe = gf.recipe.bzr urls = http://bazaar.launchpad.net/~kissbooth/kss.plugin.sdnd/trunk kss.plugin.sdnd http://bazaar.launchpad.net/~kissbooth/kss.plugin.livesearch/trunk kss.plugin.livesearch in_parts = False http_authentication = username:password
这将执行 bzr get 将分支推送到 bzr/kss.plugin.sdnd 和 bzr/kss.plugin.livesearch。如果调用buildout,则分支会被拉取。
在卸载时不会真正删除任何目录,这导致如果buildout配置更改,本地仓库不会遵循新的拉取位置,而是继续使用bzr已知的拉取位置。
in_parts 选项
in_parts 默认为false,这意味着包含分支的目录将创建在buildout根目录中。这是默认模式,因为它对开发很有用。如果指定 in_parts = True,则该目录将在parts目录中创建(与infrae.subversion兼容)。
http_authentication 选项
如果指定 http authentication 为 username:password,它将用于认证http和https领域。这很少需要,因为ssh提供了更舒适的仓库访问,但它允许使用密码保护的http访问,这在其他情况下可能不容易(或根本不可能)实现。
此选项在 bzr+ssh:// 仓库url中无效。
develop 选项
默认情况下,配方获取的分支也被安装为开发egg。可以使用 develop = False 选项强制配方不开发egg。例如,这可以用于使用buildout更新本地只读的svn仓库的bzr镜像。
[kukit.js] recipe = gf.recipe.bzr urls= https://codespeak.net/svn/kukit/kukit.js/trunk trunk https://codespeak.net/svn/kukit/kukit.js/branch/1.2 1.2 https://codespeak.net/svn/kukit/kukit.js/branch/1.4 1.4 develop = False [kss.demo] recipe = gf.recipe.bzr urls= https://codespeak.net/svn/kukit/kss.demo/trunk trunk https://codespeak.net/svn/kukit/kss.demo/branch/1.2 1.2 https://codespeak.net/svn/kukit/kss.demo/branch/1.4 1.4 develop = False
其他配置需求
此外,您还需要在buildout部分包含与配方配置的egg。
[buildout] ... eggs = ... kss.plugin.sdnd kss.plugin.livesearch
最近更改
gf.recipe.bzr 的更改日志
(开发者姓名列于括号内)
gf.recipe.bzr - 1.0rc8 发布于2009年7月31日
通过忽略‘.bzr’和其他以‘.’开头的目录来修复卸载配方。[sidnei]
gf.recipe.bzr - 1.0rc7 发布于2009年7月31日
清理了选项处理(true vs True等)。[sidnei]
清理了“严格”配方,尽可能多地重用“默认”配方,避免重复。[sidnei]
仅在buildout处于“newest”模式时更新检查点。[sidnei]
gf.recipe.bzr - 1.0rc6 发布于 2009-07-14
修复了 Python 2.4 兼容性问题 [ree]
添加“destination”选项,使用任意分支目录代替相对于 buildout 根目录的位置(取决于“in_parts”的值)[therve]
gf.recipe.bzr - 1.0rc5 发布于 2009-06-22
跳过了 release candidate rc4 [ree]
gf.recipe.bzr - 1.0rc4 未发布
添加了对“shared-repo”和“format”的支持,这对于在 bzr 分支内部进行分支和使后续从同一仓库的大分支变得更快非常有用,或者“rich-root”分支中的非“rich-root”分支。[sidnei]
使用“shell=true”来子进程,然后只调用“bzr”而不是“bzr.bat”。shell会为我们确定扩展名。[sidnei]
允许在 URL 中指定分支的修订版本号,使用“@”,就像在 subversion 中一样。[sidnei]
gf.recipe.bzr - 1.0rc3 发布于 2009-04-21
修复了由于缺少对 BZR 的调用而导致的在 Windows 上崩溃的问题 [ree]
gf.recipe.bzr - 1.0rc2 发布于 2009-04-19
在获取之前将工作目录更改为 buildout 根目录,以避免当前工作目录位于 bazaar 工作树内部时可能出现的错误。[ree]
gf.recipe.bzr - 1.0rc1 发布于 2009-04-12
兼容性变更。配方已更改以进行更宽松的检查。原始配方作为 #strict 提供,形式保持不变。[ree]
更正确地处理离线模式。在卸载期间仍未检测到离线模式,但在更新时正确处理。[Vladimir Iliev <vladimir.iliev@gmail.com>, ree]
修复了在 Windows 上运行的问题 [Vladimir Iliev <vladimir.iliev@gmail.com>]
修复了通过 http_authentication 参数手动添加密码的 URL 匹配方案 [Vladimir Iliev <vladimir.iliev@gmail.com>]
添加“develop”选项 [ree]
修复了在初始检出时使用“–remember”对拉取位置的处理。[ree]
正确修复了更新和卸载检查。卸载会强制推送所有挂起的更改,但仍然不会实际删除目录。[ree]
初始包结构。[ree]
下载
项目详情
gf.recipe.bzr-1.0rc8.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0e2df1a21e50c1914fd7e7135c3bb0aa29476123ce2054be4da9c9410b62be5f |
|
MD5 | 90434b679585d568f7dd78d51c512a6c |
|
BLAKE2b-256 | 4fae51155c0d365f62e069964096268048b5ec0899d8e3fca59ae5bcff5d9bbc |