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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for mono2repo-0.0.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba60c60865d2f728169ff0ea5f957c500d47757dae87644405d594a277fdac20 |
|
MD5 | ff1675f279c165656e216bfebfde0eec |
|
BLAKE2b-256 | 9d3363a6c050c6709f53eb54a91de31aa1a56cbad631cc81c3703741144bf229 |