Skip to main content

extract a monorepo subdir

Project description

mono2repo

This module (and related script) extracts the content of a subtree in a monorepo and it creates a stand alone repo (copying the related history).

Let say you have a monorepo with multiple projects (project1, project2 etc.) and we wan to make project1 a stand alone repo (retaining the project1 hostory):

monorepo/
├── README.TXT
├── misc
│   └── more
└── subfolder
    ├── project1           # <-- we want to extract this
       └── a
           ├── hello.txt
           └── subtree
    ├── project2
    └── project3

The command to to this is:

 mono2repo init -v project1 monorepo/subfolder/project1

Install

Using pip:

pip intall mono2repo

The mono2repo.py is a standalone script and it can be just dowloaded:

curl -LO https://raw.githubusercontent.com/cav71/mono2repo/master/mono2repo.py

Example

For this example we first create the summary repo from the main pelican monorepo, then we update the summary with the new upstream changes:

https://github.com/getpelican/pelican-plugins.git
   ....
    summary/
    ├── Readme.rst
    └── summary.py

Create a new repo

First we create a new repo:

mono2repo init summary-extracted \
    https://github.com/getpelican/pelican-plugins.git/summary

NOTE: summary-extracted has two branches master and the migrate (leave this alone!). It is not time to merge the changes into master:

cd summary-extracted
git checkout master
git merge migrate

Update the repo

Update the summary-extracted with the latest summary related changes:

mono2repo update summary-extracted

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mono2repo-0.0.6.tar.gz (5.5 kB view hashes)

Uploaded Source

Built Distribution

mono2repo-0.0.6-py3-none-any.whl (5.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page