Synopsis

gitx [--help] [--version] [COMMAND]

Description

A tool allowing to insert external Git repositories directly into the tree of some Git repository and keep these directories in sync with those external Git repositories.

The external Git repositories in this context are called X-Modules. To start working with X-Modules use gitx add-module command. It allows to insert an X-Module directly into the tree of some parent Git repository.

For example, you can insert http://example.com/repos/mylibrary.git as 'contrib/mylibrary' directory of your parent Git repository. This directory will be kept in sync with the original X-Module Git repository.

gitx sync is the command to synchronize the X-Module directories with their corresponding directories. It is recommended to call this command periodically, e.g. from 'cron' service, to keep X-Module directory in sync with the Git repository.

To see the list of all X-Modules on some branch use gitx status command.

To delete the X-Modules from the tree run gitx delete-module command.

Every 'git push' to the parent Git repository is handled by a special 'pre-receive' hook that is installed upon gitx add-module call. This hook basically runs a form of gitx sync command internally. One can also manually uninstall or install back this hook using hidden gitx uninstall and gitx install commands respectively. Usually one doesn’t have to run these commands explicitly.

To see a demo how gitx can be used in real life scenarios run

gitx demo --scenario product-repo demo

OR

gitx demo --scenario split-monorepo demo

For more detailed versions of these demos run

gitx demo --manual --scenario product-repo demo

OR

gitx demo --manual --scenario split-monorepo demo

and follow the instructions.

Options

--help

display detailed help message

--version

display version info

Commands

add-module

Add a Git repository as X-Module to the Git repository.

delete-module

Delete Git X-Module at the path specified.

status, st

Lists Git X-Modules in the repository and their statuses.

sync

Sync all the configured X-Modules with external repositories.

demo

Create demo repositories using X-Modules to show and test the functionality.

help

Displays help information about the specified command

  • No labels