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.6b12-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8bfc3736fb38c5793b6e6729f747971837e0f8ee0d46a2b189ae4fe39021c5d |
|
MD5 | b5684fd71b4f29556b5ad94e95a2b315 |
|
BLAKE2b-256 | b95453731fc148fb1ade6a789bebc3d9309995d83a0162904c381cc420da68af |