tbureck/splitphp

SplitPHP 使用 splitsh-lite 将单体仓库拆分为多个仓库。

安装次数: 1,674

依赖项: 0

建议者: 0

安全性: 0

星标: 1

关注者: 2

分支: 0

公开问题: 0

类型:项目

v2.0.2 2018-07-28 12:14 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:47:48 UTC


README

SplitPHP 是一个小程序,可以从 Git 仓库中拆分子树并将其推送到单独的仓库。实际的拆分使用 Fabien Potencier 的 splitsh-lite 工具 完成。

入门指南

SplitPHP 很可能用于 Travis、Jenkins 或 TeamCity 等持续集成环境中。工具正常运行需要满足以下 3 个主要要求

请确保 splitsh-lite 命令可通过在 PATH 环境变量中放置其路径来可用,这样 SplitPHP 就可以找到它。显然,这也适用于 Git。

安装

使用 Composer 安装最简单。将 tbureck/splitphp 添加到您的 require-dev 配置中。然后 splitphp 程序将位于您配置的 bin 目录中。

使用方法

为了使用 SplitPHP,您需要创建一个配置文件,默认为 splitsh.json。它定义了应提取到其他仓库的子树。

配置

示例

{
    "common-library": {
        "prefixes": [
            {"key": "src/Library/Common", "value": ""}
        ],
        "target": "git@bitbucket.org:my-organization/my-repository.git",
        "branches": ["master", "dev-1.x"]
    }
}

对象的关键字是一个简单的名称,易于识别。该对象定义了 3 个属性

prefixes 是一个键值对列表,将单体路径映射到独立仓库路径(空路径表示根目录)

target 指定目标独立仓库。请确保您的 CI 服务器有对这个仓库的写入权限。

branches 是需要拆分的分支列表。

您可以指定任意数量的子树,它们将按该顺序处理。

运行拆分

要运行拆分,只需调用二进制文件并传递当前分支

bin/splitphp master

在 TeamCity 中,您可以通过使用特定变量动态传递当前分支。如果您使用的是不同系统,请查阅 CI 服务器文档了解如何进行此操作

bin/splitphp %vcsroot.branch%

SplitPHP 将默认在当前工作目录中查找配置文件 splitsh.json。您可以使用 -c 选项指定不同的路径

bin/splitphp -c my/path/to/splitconfiguration.json