Friday, July 24, 2009

upgraded to Android SDK 1.5r3 - perm problems

I upgraded to SDK 1.5r3 and updated my /usr/local/android link and then got errors in Eclipse: my projects wouldn't compile. I checked the error log and got distracted by an error that doesn't even matter:

Plug-in was unable to load class

The real problem with the SDK was that the $ANDROID_HOME/tools and $ANDROID_HOME/platforms/android_1.5/tools contained important executables but the files weren't actually executable. I did 'sudo chmod 755 *' in the tools directories and restarted Eclipse.

Thursday, July 23, 2009

MercurialEclipse plugin has Finish disabled

If you're using the MercurialEclipse plugin and you attempt to Pull + Merge with un-committed changes, the Finish button will be disabled.

You can either Pull without Merge, which Mercurial will put into your local repository but you'll then have to merge manually later, or you can Cancel, check-in your current work, and then Pull with Merge.

Tuesday, July 14, 2009

options for viewing changeset history

We switched to BitBucket / Mercurial for the Android application. Although I've been using Mercurial for a long time as an individual, this is my first attempt at Hg in a team environment. I'm dazzled by BitBucket - great UI and been real smooth so far.

It isn't obvious how to see what files have changed in the various changesets. The options are to use the UI in BitBucket or to use the Team -> History view in Eclipse. It's nice to have everything in Eclipse, so that the main option for me: right click in Package Explorer -> Team -> Show History. If you don't already have the History view open, it will open up and show the history for your local repository. To see the files affected, click on the bullet-point looking icon in the upper right (the tooltip is 'Show Affected Paths').

Here's a clip of what it looks like in BitBucket - easy there, click on the changesets tab and then pick a changeset to view.

Thursday, July 09, 2009

migrating SVN history to Mercurial in BitBucket

I started setting up a Mercurial server tonight using and I got pretty far in and realized there was still a long way to go and I would only have a partially working solution. The easier way to test Mercurial for our team would be with BitBucket. The steps I did to create my own server are shown below just for historical reasons.

BitBucket supports private projects, has the Web interface for Hg already set up, and has a wiki and bug tracker available. I created an account (traditional because I couldn't get my OpenID URL working - I'm slow), set up a private repository, and then 'pushed' in our existing source.

$ mkdir buckets
$ hg convert svn+ssh://[my svn server].org/svn/buckets buckets
$ cd buckets
$ hg push https://[my username][my username]/[my private repo]

At this point, the BitBucket Overview and my private news feed show the repo history. Good stuff!

What I was doing...

$ wget
$ sudo rpm --import
$ sudo rpm -K rpmforge-release-0.3.6-1.el5.rf.*.rpm
$ sudo rpm -i rpmforge-release-0.3.6-1.el5.rf.*.rpm
$ sudo yum install mercurial
$ sudo yum install httpd
$ cd
$ wget
$ tar xzf Mercurial-stable-branch--*.tar.gz
$ sudo mkdir /var/www/cgi-hg
$ sudo cp Mercurial-stable-branch--*/hgwebdir.cgi /var/www/cgi-hg && sudo chmod +x /var/www/cgi-hg/hgwebdir.cgi
$ sudo vi /etc/httpd/conf.d/hg.conf
ScriptAliasMatch ^/hg(.*) /var/www/cgi-hg/hgwebdir.cgi$1

<Directory /var/www/cgi-hg/>
Options ExecCGI FollowSymLinks
AllowOverride None
$ sudo touch /var/www/cgi-hg/hgweb.config
$ sudo /etc/init.d/httpd start
$ sudo chmod 755 /var/log/httpd