Go Back

GitBatchClone

GitBatchClone is a tool I designed to streamline the process of cloning multiple repositories from a GitHub organization or team.

I had recently joined a new project where the application codebase was spread over a number of repositories. To date this was the largest application I had worked on. Now, I did not want to spend my time cloning each repository, one by one. So, naturally I looked for ways to have this whole thing automated for me. Unfortunately, I could not find any such tool to do so.

I had two choices, spend time cloning each repository one by one, or create something to automate this process for me. Obviously I went with the latter. On my previous project, I had a number of things to do when packaging the software to send to the client, like updating configuration files, versioning, updating SQL scripts, the packaging itself, and more, I wrote a python script to do all this for me up to drafting an email which I would send when everything was ready. So, I wrote a python script to handle cloning the repositories automatically. The only challenge I faced while doing this was SSL certificate issues, because for the new project I was required to use a virtual machine, and for some reason GitHub SSL certificate was not stored or trusted. So after manually adding it to the trusted certificate store, I was able to clone all the repositories in a few minutes.

After writing the script I decided to create a release for this tool because I had never done so before. Well there wasn't much to it really. It's just that for some reason the release did not work on the virtual machine. I was never bothered to try to fix it since the script ran fine, and I did not need it for anything else.