30 August 2007
I continued work on hg2mtn (which managed to import the whole onnv-gate repository just fine, stats will come later), and except for one issue, I’m feature complete: while I track renames now, I have to synthesize directory renames. This will work by looking for each rename if the source directory is getting removed and the target directory newly created. If so, assume that a rename from source dir to target dir takes place.
This might give some wrong decisions, eg. in this scenario: a/a is moved to c/a, while the other 100 files (that are sorted behing a/a) in a/ are moved to b/. The proper rename would be from a/ to b/, but a/ to c/ is chosen. I could do majority "votes" and things like that, but they’d quickly get too complicated while still staying a heuristic.
The only issue that happens in that case is that a new file in a/ from some branch gets moved to c/ instead of b/ (where it likely belongs to) - but that’s easy to solve and still better than the current scenario where you’d have to move the file out of the deleted directory before merging to avoid a conflict.
After I implemented that one, I only have to clean up some more (I started already) to make a stable release, yay!
24 August 2007
Today I worked a lot on hg2mtn, a tool to import hg (mercurial) repositories into monotone.
The result of it is a first release that’s barely useful, but contains all the logic necessary to do it - what’s missing is userinterface, stability and general niceness.
23 August 2007
So I’m back to Solaris again - given the massive growth of the software stack over the last few years, including several proprietary components (hello adobe flash), it seems getting harder and harder for smaller systems to keep up.
Even with all the troubles OpenSolaris has, starting from there still looks like an easier path than moving to a smaller system - sadly. Those were the days, where one developer could understand the whole system that he holds in his hands… *sigh*
Anyway, I promptly worked a bit on pmpkg, and implemented digests (as optimization, not as security check for now), updated some things here and there and I’m planning on lint functionality, both for package sources in pmpkg as well as the resulting package (necessary due to the dynamic design of pmpkg - we don’t require packages to match a given file packing list, but we want to enforce a certain set of constraints).
Also restarting is my effort to get into the ONNV tree - my toolchain bootstrap script is updated, and I think I’ll work on hg2mtn next.