git-stitch-repo

Stitch several git repositories (merging git repository) into a git fast-import stream from Git-FastExport

Installation

$ perl -MCPAN -e shell
  
cpan[6]> i /fastexport/
	Distribution    BOOK/Git-FastExport-0.107.tar.gz
	Module  < Git::FastExport        (BOOK/Git-FastExport-0.107.tar.gz)
	Module  < Git::FastExport::Block (BOOK/Git-FastExport-0.107.tar.gz)
	Module  < Git::FastExport::Stitch (BOOK/Git-FastExport-0.107.tar.gz)
	4 items found

cpan[6]> install BOOK/Git-FastExport-0.107.tar.gz

cpan[6]> CTRL-D

Usage

git-stitch-repo will process the output of git fast-export --all --date-order on the git repositories given on the command-line, and create a stream suitable for git fast-import that will create a new repository containing all the commits in a new commit tree that respects the history of all the source repositories. Typical usage is like this:
git clone https://github.com/xxxx/A.git
git clone https://github.com/xxxxx/B.git

$ ls
A B

mkdir result
cd result
git init
git-stitch-repo ../A:folderA ../B:folderB | git fast-import

# pull both repository in a new branch for examples
git checkout -b newBranch
git pull . master-A
git pull . master-B

# when finished delete unused branches
git branch -d master-A 
git branch -d master-B 
comments powered by Disqus

You might like also

Big Bang Blockchain: La seconde révolution d'internet de Stéphane Loignon
La blockchain est annoncée comme une révolution technologique, économique, politique et sociétale aussi puissante qu’Internet. Cette « chaîne de blocs » promet d’être l’outil incontournable de demain. À quoi sert la blockchain ? Cette nouvelle technologie permet avant tout d’envoyer de l’argent en ligne sans intermédiaire : ni banque, ni compagnie de carte de crédit. Elle pourrait bouleverser la finance, l’assurance et le transfert d’argent tout en étant le moteur d’un vaste mouvement de décentralisation de l’économie numérique. Grâce à elle, certains rêvent …
16 Days ago
Blockchain definitions
  Blocks & Transactions Transaction data is permanently recorded in files called blocks. They can be thought of as the individual pages of a city recorder's recordbook (where changes to title to real estate are recorded) or a stock transaction ledger. Blocks are organized into a linear sequence over time ("Miner" or "Worker") also known as the block chain). New transactions are constantly being processed by Miners (into new blocks which are added to the end of the chain and …
17 Days ago
No Thumbnail was found
DevFest is the biggest Google tech conference in Switzerland. All about machine learning, programming, emerging technologies and much more!  GDG DevFests are large, community-run developer events happening around the globe focused on community building and learning about Google’s technologies. This year i will be helping and organizing some of the side activities between the talk session. And i prepared a lot of stuff, enough for 11 screens! _auto_generated_thumb_ _auto_generated_thumb_ Not everything is on pictures, NES and SNES classic are missing …
22 Days ago
Mining FeatherCoin on GeForce 1080 Ti
Feathercoin is a powerful open source digital currency with monetary properties linked to Bitcoin, Litecoin and a myriad of countless alt coins, but under the hood is something very different. Feathercoin is a highly upgraded and customised piece of software compared to the Bitcoin and Litecoin protocols. Based from Bitcoin, Litecoin evolved, from which Feathercoin was born, with the intent to expand, experiment, and build onto the blockchain technology in a manner open to all for participation. Just over one …
23 Days ago
No Thumbnail was found
XMR-Stak is a universal Stratum pool miner. This is the NVIDIA GPU mining version; there is also an AMD GPU version, and a CPU version. Docker® containers are often used to seamlessly deploy CPU-based applications on multiple machines. But Docker Engine does not natively support NVIDIA GPUs with containers. I have dockerized the Nvidia GPU-mining version, so it is now running in nvidia-docker. Containerizing GPU applications provides several benefits, among them: Reproducible builds Ease of deployment Isolation of individual devices Run across heterogeneous …
44 Days ago
Running WordPress and MySql in Docker
Notes A Docker image is a lightweight, stand-alone, executable package of a piece of software that includes everything needed to run it: code, runtime, system tools, system libraries, settings. Available for both Linux and Windows based apps, containerized software will always run the same, regardless of the environment. Containers isolate software from its surroundings, for example differences between development and staging environments and help reduce conflicts between teams running different software on the same infrastructure. A container is a runtime …
116 Days ago
No Thumbnail was found
149 Days ago
Dropbox CLI on linux
Dropbox is a free service that lets you bring all your photos, docs, and videos anywhere. This means that any file you save to your Dropbox will automatically save to all your computers, phones and even the Dropbox website. Dropbox creates a special folder on the user's computer, the contents of which are then synchronized to Dropbox's servers and to other computers and devices that the user has installed Dropbox on, keeping the same files up-to-date on all devices. I …
161 Days ago
Merging Two Git Repositories Into One Repository Without Losing File History
191 Days ago
Apache Maven tips and tricks: war plugin vs assembly plugin
When in apache maven you have multiple dependencies with the same artifact id but different group id  <dependency> <artifactId>any</artifactId> <groupId>groupId1</groupId> <version>1.1</version> </dependency> <dependency> <artifactId>any</artifactId> <groupId>groupId2</groupId> <version>1.2</version> </dependency> <dependency> <artifactId>any</artifactId> <groupId>groupId3</groupId> <version>1.3</version> </dependency> Apache maven war plugin is able to detect this case and will automatically add the groupId to resolve filename conflicts. If it would not do that the last one name any.jar would win So it'll look like this in WEB-INF/lib -rw------- 1 user grp 135851 Aug 24 12:21 …
216 Days ago