1 comment

[ 3.7 ms ] story [ 9.1 ms ] thread
Git X-Modules is a server-side app that syncs your project directories with other repositories. Think of it as a server-side alternative to Git Submodules.

Use Cases:

- Combine multiple projects and components into a single repository for cross-project development (like a monorepo, but keeping the original repositories up and running)

- Include parts of other projects into yours

- Share common assets across multiple projects

How it works:

- An X-Module is a regular directory. It’s synced on your Git server with an external repository.

- When an X-Module is updated the changes go to the external repository.

- When an external repository is updated the changes are applied to the X-Module.

- When there are two conflicting updates Git X-Modules applies one update and turns the other into a pull request

This tool is available as a free GitHub app. There's also an app for Bitbucket DataCenter (self-hosted).

Some of the real-life cases we've heard of:

- Code review team wants to see all changes made in various repositories, in one place

- A private project contains an open-source part, that is shared in a separate repository

- A library or component is maintained in a separate repository and shared between several projects

What's your case?