The reason is because of how things are organized. It’s somewhat complex.
The firmware repository is a place to collect all flashlight firmware, not just mine. My stuff is all crammed into one subdirectory, while other authors have their own directories. The organization isn’t just a matter of the folder structure though, but also a matter of how the revisions themselves are organized.
There’s a pattern or a “best practice” in revision control systems called feature branching. The basic idea is that there should be one “mainline” path through history which only has “cooked” revisions. These are revisions which have been tested pretty thoroughly and are considered safe or stable… as opposed to “raw” revisions which are unproven and likely to have problems.
Meanwhile, development is done in “feature branches”. These have all the raw revisions. The usual pattern is to make a branch, develop a new feature, test it, develop some more, test it, submit it for review, fix the issues noted in review, test it more, and then when it’s finally ready, it can be merged back into the mainline. All the clutter and missteps of development are kept out of the way, so people following the mainline don’t have to care about it.
The link in my signature goes to the stable mainline branch, called trunk
. It’s usually a bit behind in terms of features, but also considered generally safe.
So that’s the general development cycle.
For Anduril and other FSM-based interfaces, things get a little bit more complicated. FSM is a sizable project, so it has its own cooked-vs-raw branch thing going on. The cooked branch is called fsm
, and I make a variety of raw development branches based on it when I add new things.
… And then I also periodically merge fsm
back into trunk
. It’s probably overdue for that to happen again, since the two have diverged so much since the last merge.
I could also probably add a link in my signature for FSM, since it has become such a big project… or perhaps shorten the link which goes to launchpad so it’d go to the main repository page instead of trunk. This might make it easier to find the other branches. Will probably do that second one, since it keeps the focus more on everyone’s projects instead of just mine.
Edit: Merged fsm
into trunk
and published the changes, so both should be up to date now.