2017 © Pedro Peláez
 

project splitphp

SplitPHP splits monolithic repositories into multiple repositories using splitsh-lite.

image

tbureck/splitphp

SplitPHP splits monolithic repositories into multiple repositories using splitsh-lite.

  • Saturday, July 28, 2018
  • by tbureck
  • Repository
  • 1 Watchers
  • 0 Stars
  • 77 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 5 Versions
  • 51 % Grown

The README.md

Welcome to SplitPHP

SplitPHP is a little program that will split subtrees from your Git repository and push them to a separate repository. The actual splitting is done using the splitsh-lite tool by Fabien Potencier., (*1)

Getting started

SplitPHP is likely to be used on a continuous integration environment like Travis, Jenkins or TeamCity. There are 3 main requirements for the tool to work:, (*2)

Make sure that the splitsh-lite command is available by putting its path in the PATH environment variable, so that SplitPHP can find it. The same goes for Git, obviously., (*3)

Installation

Installation is easiest done by using Composer. Add tbureck/splitphp to your require-dev configuration. The splitphp program will then be available in your configured bin directory., (*4)

Usage

In order to use SplitPHP, you need to create a configuration file, which defaults to splitsh.json. It defines the subtrees that should be extracted to the other repositories., (*5)

Configuration

Example:, (*6)

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

The key of an object is a simple name for easy identification. The object defines 3 properties:, (*7)

prefixes is a list of key-value pairs that map the monolith path to the standalone repository path (empty path means root directory), (*8)

target specifies the target standalone repository. Make sure that your CI server has write access to this repository., (*9)

branches is a list of branches that the split should be done for., (*10)

You can specify as many subtrees as you like, they will be processed in that order., (*11)

Running the split

In order to run the split, you simply need to call the binary and pass the current branch:, (*12)

bin/splitphp master

In TeamCity, you can dynamically pass the current branch by using a specific variable. Check your CI server's documentation for how to do this, if you're using a different system:, (*13)

bin/splitphp %vcsroot.branch%

SplitPHP will be checking for the configuration file splitsh.json in the current working directory by default. You can specify a different path by using the -c option:, (*14)

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

The Versions

28/07 2018

dev-master

9999999-dev

SplitPHP splits monolithic repositories into multiple repositories using splitsh-lite.

  Sources   Download

MIT

The Requires

 

28/07 2018

v2.0.2

2.0.2.0

SplitPHP splits monolithic repositories into multiple repositories using splitsh-lite.

  Sources   Download

MIT

The Requires

 

08/05 2018

v2.0.1

2.0.1.0

SplitPHP splits monolithic repositories into multiple repositories using splitsh-lite.

  Sources   Download

MIT

The Requires

 

08/05 2018

v2.0.0

2.0.0.0 https://bitbucket.org/tBureck/splitphp

SplitPHP splits monolithic repositories into multiple repositories using splitsh-lite.

  Sources   Download

MIT

The Requires

 

08/02 2018

v1.0.0

1.0.0.0 https://bitbucket.org/tBureck/splitphp

SplitPHP splits monolithic repositories into multiple repositories using splitsh-lite.

  Sources   Download

MIT

The Requires