跳转到主要内容

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.sdndbzr/kss.plugin.livesearch。如果调用buildout,则分支会被拉取。

在卸载时不会真正删除任何目录,这导致如果buildout配置更改,本地仓库不会遵循新的拉取位置,而是继续使用bzr已知的拉取位置。

in_parts 选项

in_parts 默认为false,这意味着包含分支的目录将创建在buildout根目录中。这是默认模式,因为它对开发很有用。如果指定 in_parts = True,则该目录将在parts目录中创建(与infrae.subversion兼容)。

http_authentication 选项

如果指定 http authenticationusername: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 (16.2 kB 查看哈希值)

上传时间

由以下提供支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面