Friday, May 22, 2009

Project Hosting Tricks, part 1

If you use Google Code's open source project hosting service, you're probably already familiar with the standard features: the issue tracker, the wiki, the downloads-area, and the browseable version-control repository.

But the project hosting service is also full of cool bells and whistles that you may not have noticed before. We've compiled a fun list of these things which you can show off at your next, um, project hackathon. In this first post, we'll look at some version control gems.

Web-based Code Reviews

  • What: browse a committed change, then make comments right in the browser.
  • Example: here's a brief sample review of a changeset.
  • How to do it: Bring up a changeset in the source browser and click the "start a code review" link in the right-side bubble. Double-click on lines of code to enter comments, then click "publish your comments" when done. An email will be sent to the changeset author, and then they can reply to the comments through the same web interface.

Make Stuff Happen after a Commit

  • What: after a commit, you can automatically fire off a continuous build, make an IRC bot speak... even notify an AppEngine instance!
  • How to do it: Look for the "web hooks" section in the Administer->Source page. If you provide a URL to your server, we'll ping it with commit information after every code change. Follow the links for full details and documentation.

Descriptive Wiki Commit Logs

  • What: The wiki is stored in version control; when saving a wiki page, use a more descriptive commit message than the default "Edited wiki page through web user interface".
  • Example: Here's a wiki change with a useful description.
  • How to do it: When editing a wiki page, expand and fill out the "Commit Log" textfield.

Of course, one of the most exciting new features on our project hosting service is our nascent support for the Mercurial distributed version control system. If you're coming to Google I/O, be sure to come hear our talk about Mercurial on Bigtable!

No comments:

Post a Comment