How to split git repo and keep history of multiple projects

Like them or loathe them, microservices are still all the rage. I'm seeing more and more companies go down this route. In particular, a common start to the journey into microservices is breaking up an existing monolith.

In this post, I'll show how you can split off several pieces of a large repository into a single, smaller repo while maintaining the git history. I'll be using AutoMapper as an example, but the same steps should apply if you need to split several project from a larger solution and keep the history.

Key differences between C# and JavaScript

I find myself switching between C# and JavaScript quite a lot. Even though I've been doing that for years, there are still occassions where I get caught out by a language feature.

Here I go through a few of the key differences which have caught me out in the hope that writing about them stops it happening in the future.

If only things were that simple!

.NET LINQ Select method in JavaScript

I accidentally typed out a couple of .NET LINQ statements while writing JavaScript and drew a blank on the equivalent method names.

In the hope of not forgetting again, here I dig into the equivalent of the .NET LINQ Select method in JavaScript. They're not identical, but I think for most people the differences won't matter.

Using docker to build Read the Docs

I started working on a old side-project that was using an out-of-date version of IdentityServer (2.0.0). Rather than jump two major versions, I decided to go slowly, use this as a learning exercise, and go to the highest major version I could find (2.5.4).

Unfortunately the online docs didn't have 2.5.4, so I decided to build them myself. As always, I didn't want to install a lot of stuff that would be used just once. Another perfect scenario for docker.