So now I have a build script up to build from current source using mercurial using fbuild. I am even posting this from a mercurial build, run from that script.
It builds flock on Linux & Windows (still waiting on the Mac when I wrote this), but some theming stuff doesn’t work. To get automated build back up again, I need to setup a source mirror in the office or they clobber the network and none-of the build servers work and people in the office start wanting to use cell phone modems for the better connections quality. There are also some tweaks to the build scripts that need to be done, but it is fewer now.
The big win is that we are now storing the mozilla code and flock code together, it makes updating to a new version of mozilla much harder, but it makes daily development much easier, because people don’t get confused about where they are working and which files can be symlinks and which cannot. Still a lot of work to do to clean up the repository.
browser/components/flock -> flock/components/flock
most of the theming stuff has already been moved into the flock project directory. There is some more stuff that needs to go there, and I need to disable the weird hacks to get around the windows compiler not being able to read cygwin symlinks.
This far more difficult than it should have been.
- tailor was more trouble than I thought.
- cannot deal with cvs directories that only have attic files. I actually got around this problem with a different solutions. I converted cvs -> svn with cvs2svn and then went from svn -> hg with tailor. At least both svn and hg have the concept of change-sets and cvs2svn is well tested.
- is incredibly slow, now some of this is our hardwares fault, the discount servers from rackspace have very slow disks. 2MB/s sustained and 4MB/s max. My external USB attached to my Linux box can do 17MB/s sustained. And since it is crummy IDE, it cause the whole machine to be unresponsive when you max out the io. This meant over 4+ hours to do a conversion.
- The 0.7 Windows build does not deal with ssh properly. When you attempt to do an ssh transaction it says “hg specific_command –stdio” command not found, which is clearly running the exec for ssh incorrectly. This happend both for cygwin ssh, and plink. The solution is build hg 0.7 using the process for unix under cygwin.
- hg rename does not support traditional filesystem primatives, you must specify a destination filename. ie you cannot: hg mv foo bar/; instead you must hg mv foo bar/foo
- when you rename you cannot view comments history in: hg log -v
(yes you need the -v to see the comments otherwise you just see the revisions, manifests and dates. The documentation is much better on tip right now.) I have been assured that the rename can be determined in the data-store, but is not hooked up yet.