![](/static/253f0d9b/assets/icons/icon-96x96.png)
![](https://lemmy.world/pictrs/image/8f2046ae-5d2e-495f-b467-f7b14ccb4152.png)
They probably recently extracted some viable DNA from the crime scene evidence that had been kept all these years, but they are unlikely to have any DNA taken from the long deceased perpetrator - assuming he was buried, it is unlikely any viable DNA survived 40 years. But if he he still has living relatives, you can take DNA from them and compare it to the crime scene samples, and look for sufficient matches to conclude he was likely to have committed these crimes.
It doesn’t have to be separate branches - you can generate different versions of the software from the same code branch, e.g. using compiler/build time switches for those bits of the code that differ between the different target platforms. Then you would have a build pipeline per platform; even here the build pipeline can share a lot of common code, and just be parameterized for the specific platform.