My favorites | Sign in
Logo
iui
                
Search
for
Updated Dec 14 (5 days ago) by msgilli...@gmail.com
UsingMercurial  
Using Mercurial.

Introduction

iUI recently switched to the Mercurial Distributed Version Control System (DVCS). Mercurial should make it easier for advanced users of iUI to track changes in the iUI source and to submit patches. It should also make it easier for the iUI developers to evaluate and integrate patches, helping us to improve iUI more quickly.

Advantages of Mercurial for non-committers

Advantages of Mercurial for committers

Disadvantages of Mercurial

Quick Links

About Mercurial

Distributed Version Control Systems (DVCS) allow each user to have a complete copy of the repository and to create local, uniquely identified branches. Patches or change-sets are easily transferred between repositories. A particular repository may be declared the 'central' repository, but this is done purely by convention.

Git is probably the best known DVCS, and the feature set of Mercurial is very similar. Google chose Mercurial over Git and now provides Google Code projects with a choice between Mercurial and Subversion. The advantages of the DVCS approach had led some iUI developers to experiment with Git on github, but now that Mercurial is integrated with Google Code we decided to abandon that effort.

Google Code supports server-side cloning that will work for users of Google Code who are not iUI committers. See 'Create your own clone' on the Clones of iUI page.

Mercurial Reference

Mercurial on Google Code

Installing on Mac OS X

Instructions:

Mac OS X Configuration

If you are using Mac OS X, add the following lines to your .hgrc file

[merge-tools]
filemerge.executable = /full/path/to/opendiff-w
filemerge.args = $local $other -ancestor $base -merge $output

[extensions]
extdiff=

[extdiff]
cmd.opendiff = opendiff-w
cmd.bbdiff = bbdiff
opts.bbdiff = --wait --resume

You'll also need to create the opendiff-w script file somewhere in your PATH:

# opendiff returns immediately, without waiting for FileMerge to exit.
# Piping the output makes opendiff wait for FileMerge.
opendiff "$@" | cat

See: http://mercurial.selenic.com/wiki/ExtdiffExtension and http://mercurial.selenic.com/wiki/MergeProgram for details.

Mac OS X GUI

Upgrade Repo from SVN to Hg on OS X

Reference:

Steps:

  • Install Hg on OS X
  • Install Subversion 1.6.3 using package from Collabnet
  • Enable convert extension:
  • [extensions]
    hgext.convert=
  • Run hg convert http://iui.googlecode.com/svn/
    • I don't understand how hg picks up the bindings to Subversion 1.6.3 since built-in 1.4 is not supposed to work
  • Push to Google Code

Sign in to add a comment
Hosted by Google Code