Actually, it was you Christian, who was describing the git graphs as train tracks and prompted me to do this.
vbarbaresi, you should include the script or whatever method you used to generate the metro. I noticed you also used --allow-empty.
However it looks like he wrote the solution manually, whereas I couldn't as it's way too complicated with Paris' metro system. I wrote a small algorithm (using Python) to create the graph. I'll probably publish it, after I clean the code a little.
Very similar, to the point that I initially thought you had copied/plagiarized it, until I went and checked.
Because git doesn't allow cycles? Then as cool as this is (and it's very cool), perhaps this isn't an appropriate tool for this purpose.
Or might the natural, human-built cycles be expressable as subrepositories?
Would Mercurial be more appropriate, or do you think DVCS are simply not an ideal way of mapping metro lines?
As to Mercurial being better, I don't know but I doubt it.
My comment isn't even really directed at the appropriateness of DVCS specifically. It's just a general observation of using an acyclic tool to describe a network with cycles. We do that a lot, sometimes for play, sometimes for practicality, and sometimes because we just flip the fuckit bit. http://thechive.com/2009/11/11/there-i-fixed-it-23-photos/
That said, this is most likely just meant as a fun visualization, because the visualization does look like a railway map.
Isn't the sole reason this is on HN, on the frontpage, exactly the fact that git and it's graphs aren't appropriate at all for drawing metrolines and yet somebody though of it and then did it as well?
I don't think the tooling is made for it either.
> git commit-tree <tree> [(-p <parent>)...] < changelog
Can't wait to see the pull requests:
Pull request 1: Direct route from my flat to work
- Family trees, genealogy
- Electrical circuit schematics
- Storylines for books, movies, RPG
- Accounting, ledgers
But I guess finding connections and directions is a bit complicated (because after all the commits form a directed graph, as opposed to a subway map)