My Freewheeling Apps kinda abuse git, and I've been watching for problems to arise from this friction.
Most software tries to keep branches short-lived. Merging is the point of a branch. My apps are long-lived forks that never merge, only occasionally cherry-pick.
Today I noticed a pattern: a file has been deleted in a fork and reintroduced in a later fork. Changes to it won't make it over that chasm without manual help.
How big is this problem? I wrote a quick and dirty visualizer which highlights chasms as the black lines. The short lines are false positives, so it's not a big problem. Yet.
How I built this:
- topologically sort my forks (columns) so parents come before descendants, children stay close to parents
- hash files in each fork so filenames show up in the same row
- zoom my terminal way out
- highlight long runs of spaces
This post is part of my Freewheeling Apps Devlog.
Comments gratefully appreciated. Please send them to me by any method of your choice and I'll include them here.