devshop / git-split
DevShop GitSplit Component
Installs: 119
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 1
Open Issues: 1
Type:composer-plugin
Requires
- php: ^7.1||^8.0
- composer-plugin-api: ^1.0 || ^2.0
Requires (Dev)
- symfony/console: ^4.4|^5.0
- dev-develop
- 2.x-dev
- 1.x-dev
- 1.8.x-dev
- 1.8.0-beta3
- 1.8.0-beta2
- 1.8.0-beta1
- 1.8.0-alpha1
- 1.7.x-dev
- 1.7.0-alpha4
- 1.7.0-alpha3
- 1.7.0-alpha2
- 1.7.0-alpha1
- 1.6.0-alpha4
- 1.6.0-alpha3
- 1.6.0-alpha2
- 1.6.0-alpha1
- v1.0.0
- dev-bug/ansible/detect-site
- dev-bug/bitbucket-builds
- dev-bug/bitbucket/integration
- dev-bug/build-fast
- dev-bug/composer-broke
- dev-bug/composer-install-fails-preserve-paths
- dev-bug/deploy
- dev-bug/deploy-apis
- dev-bug/destroyed
- dev-bug/docker-logs-artifacts
- dev-bug/docker/actions
- dev-bug/docker/build-again
- dev-bug/docker/hub
- dev-bug/docker/no-buildtime-tag
- dev-bug/docker/removed-too-much
- dev-bug/everything
- dev-bug/failing-again
- dev-bug/fucked-containers
- dev-bug/full-stack-stuff
- dev-bug/github/actions
- dev-bug/github/settings-ui
- dev-bug/hosting-queue-runner-commands
- dev-bug/last-passing-commit
- dev-bug/little-things
- dev-bug/local/docker-command
- dev-bug/no-drush
- dev-bug/provision-files
- dev-bug/queues
- dev-bug/remote-hosts
- dev-bug/reset
- dev-bug/scripts/fix-path
- dev-bug/sites/git-reset
- dev-bug/sync
- dev-bug/tasks
- dev-bug/ubuntu-scripts
- dev-bug/unpreserved-paths
- dev-bug/updated-containers
- dev-bug/upgrade
- dev-bug/verify
- dev-bug/verify-fail-after-install
- dev-bugs/beta-blockers
- dev-bugs/contrib
- dev-bugs/various
- dev-component/devshop-behat-extension
- dev-dev/github/fixes
- dev-dev/install/platforms
- dev-dev/stuff
- dev-feature/ansible-tweaks
- dev-feature/ansible/faster
- dev-feature/bitbucket-fixes
- dev-feature/commands
- dev-feature/components/php-8
- dev-feature/composer/git-traits
- dev-feature/development/lando
- dev-feature/devshop-control-in-root
- dev-feature/devshop-platform
- dev-feature/docker/build-run
- dev-feature/docker/fix-it-all
- dev-feature/docker/hub-publish
- dev-feature/drupal-10
- dev-feature/hosting/default_hosting_settings
- dev-feature/hosting_docker
- dev-feature/linuxserver
- dev-feature/megamerge
- dev-feature/minor-ansible-improvements
- dev-feature/no-platforms
- dev-feature/os/ubuntu20
- dev-feature/os/ubuntu2004
- dev-feature/php-8
- dev-feature/php-81-default
- dev-feature/php-intl
- dev-feature/php/8
- dev-feature/php/8.0
- dev-feature/php/8.1
- dev-feature/php/8.1-default
- dev-feature/platform-user
- dev-feature/reinstall
- dev-feature/release-docs
- dev-feature/remote-host-container
- dev-feature/robo/cleanup
- dev-feature/site-audit
- dev-feature/ubuntu22
- dev-ops/ansible/default-project-vars
- dev-php81
- dev-release-1.8.0-beta1
- dev-release-1.8.0-beta2
- dev-tests/docker/from-devshop-server
- dev-tests/failing-install
- dev-updates/2023-10
- dev-feature/php80
- dev-bug/composer-common-installable
- dev-feature/php-versions
- dev-feature/ubuntu20
- dev-ops/ansible/update
- dev-release-1.7.0
- dev-testing/php74
- dev-bug/tests-and-local
- dev-bug/docker-compose-up
- dev-bug/pr655/tests-failing
- dev-feature/shape-up
- dev-bug/git-split/composer-plugin-api-version
- dev-bug/ch112/release-fixes
- dev-bug/ch118/uid-reset
- dev-bug/ch177/detect-hostname
- dev-bug/ch460/bad-1.x-builds
- dev-bug/ch460/scheduled-build-branch
- dev-bug/ch472/composer-devshop-control
- dev-bug/ch477/composer-tests
- dev-bug/ch477/lost-control
- dev-bug/ch479/simplify-ansible-inventory-generation
- dev-bug/ch504/1x-ci-fail
- dev-bug/ch505/ansible-role-vars
- dev-bug/ch586/main-branch-tests
- dev-bug/ch587/install-sh-forks
- dev-bug/chXYZ/yaml-tasks-bugs
- dev-bug/components-ci-fail
- dev-bug/composer-ansible-fail
- dev-bug/composer-fail
- dev-bug/gh385/deploy
- dev-bug/gh642/disabled-sites
- dev-bug/gh656/protect-site
- dev-bug/hosting-queue-stop
- dev-bug/install-builder
- dev-component/devmaster/task-line-numbers
- dev-dependabot/add-v2-config-file
- dev-dev/environment/classes
- dev-dev/support/fixes
- dev-dev/ux/task-site-urls
- dev-feature/ch115/hugo-site
- dev-feature/ch256/devshop-developers
- dev-feature/ch475/better-install-sh
- dev-feature/ch534/github-actions-checkout
- dev-feature/ch584/better-dx
- dev-feature/ch86/deploy-component
- dev-feature/gh644/devshop-control-codebase
- dev-feature/gh644/path-devmaster-repo
- dev-feature/git-remote-monitor
- dev-pr/655
- dev-tests/control/pseudo-repo
- dev-bug/ch185/composer-2
- dev-bug/ch185/composer-1
- dev-bug/ch101/devshop-test-volumes
- dev-bug/ch118/provision-release
- dev-bug/ch118/test-fails
- dev-bug/ch122/test-devshop-control
- dev-bug/ch17/test-assets-folder
- dev-bug/ch20/ansible-lint
- dev-bug/ch35/tests-passing
- dev-bug/ch36/little-bugs
- dev-component/composer/deploy
- dev-component/composer/devmaster
- dev-components
- dev-dev/ux/tasks
- dev-feature/ch121/links-to-domains
- dev-feature/ch139/ansible-cloud
- dev-feature/ch139/repos
- dev-feature/ch37/dev-environment
- dev-feature/ch81/composer-devshop
- dev-feature/ch86/deploy
- dev-feature/ch87/rapid-tests
- dev-feature/ch87/rapid-tests-2
- dev-feature/ch89/core-values
- dev-feature/ch90/readme
- dev-feature/test-composer-template
- dev-integration
- dev-ops/docker/dockerfiles
- dev-ux/create/redirect
- dev-ci/install/devshop-tech
- dev-ci/makefiles/ci-makefile
- dev-component/composer/set-path
- dev-component/docs
- dev-composer/node/suggests
- dev-dev/devshop/docker-tools
- dev-install/get.devshop.tech
- dev-install/install-sh/ansible-pip
- dev-ops/os/centos8
- dev-pull/589
- dev-ci/github/actions-branches
- dev-ci/github/actions-fixes
- dev-component/cli/remove-asm
- dev-component/common
- dev-component/composer/github-api
- dev-component/composer/github-deployments
- dev-component/composer/power-process
- dev-component/composer/yaml-tasks
- dev-component/github-api-cli/deployments
- dev-component/github-api-cli/ssl-ignore
- dev-component/github-cli
- dev-component/power-process/must-run-bug
- dev-component/yaml-tasks/bin-path
- dev-component/yaml-tasks/env-fixes
- dev-component/yaml-tasks/output-options
- dev-dependabot/composer/composer/composer-1.10.4
- dev-dependabot/composer/composer/composer-1.10.5
- dev-dependabot/composer/drush/drush-10.2.2
- dev-dependabot/composer/drush/drush-9.0.0-alpha1
- dev-dependabot/composer/drush/drush-9.4.0
- dev-development/drupalvm
- dev-devshop-2020
- dev-infra/components/monorepo-testing
- dev-ops/docker/fast-container
This package is auto-updated.
Last update: 2024-09-04 12:07:21 UTC
README
The GitSplit component provides commands to split a monorepo using the splitsh-lite script and other tools.
Usage
The first implementation of GitSplit is DevShop itself. Look to OpenDevShop's code for a usage example:
-
Add the package to your project's
composer.json
:composer require devshop/git-split --dev
See https://github.com/opendevshop/devshop/blob/1.x/composer.json#L72
-
Import a legacy repo into a subfolder:
If a component repo already exists, you can merge it in with the git subtree command:
git subtree add --prefix=$PATH_IN_REPO $GIT_URL $BRANCH
For example, when we merged in the "devmaster" install profile from Drupal.org:
git subtree add --prefix=devmaster https://git.drupalcode.org/project/devmaster.git 7.x-1.x
See https://github.com/opendevshop/devshop/tree/1.x/devmaster
-
Add
extra.git-splits
Add the Secondary Repository information to the config.git-split.repos section of the main devshop/composer.json file.
"extra": { "git-split": { "repos": { "devmaster": "git@github.com:opendevshop/devmaster.git" } } }
-
Run the command
composer git:split
every time there is new code.See the DevShop GitHub Action "git.yml" file for an example on running
composer git:split
to push code to multiple remotes, including different github organizations and drupal.org using SSH keys:https://github.com/opendevshop/devshop/blob/1.x/.github/workflows/git.yml#L64
Resources
Credits
splitsh-lite is a third party shell script installed when this component is used.
Find sources and license at https://github.com/splitsh/lite.