Rietveld

Rietveld is a web-based code review tool that has been built by google. It was originally developed as a demonstration of the google app engine but is now widely used by many open source projects to conduct code reviews in the open.

To use rietveld to request a code review for ns-3, one needs to upload a patch/changeset here. There are many ways to do this but we recommend that you follow these steps:

  1. Download upload.py.
  2. Record the changes you want to request a review for in a mercurial repository: hg commit ...
  3. Within the mercurial repository, run upload.py. Make sure you specify ns-3-reviews@googlegroups.com as a CC
  4. Announce your review request on ns-developers

If you already pulled changes from ns-3-dev into your private repository after you started doing your private modifications, there is an issue to be considered. upload.py does not let you specify a range of revisions, nor a set of changesets. So if you just run upload.py in your private repository, the changesets pulled from ns-3-dev will also be published on codereview, which is, of course, not desirable.

A possible workaround is to pull your changes into a temporary repository which is an up-to-date clone of ns-3-dev. The following code should do the trick. This code assumes that your private repository is in path DEV_BRANCH_WITH_NEW_FEATURE, and that it is in sync with ns-3-dev.

hg clone http://code.nsnam.org/ns-3-dev ns-3-tmp
cd ns-3-tmp
export REVNO=`hg tip -q | sed 's/:.*$//'`
hg pull DEV_BRANCH_WITH_NEW_FEATURE
hg merge
hg commit -m "merged new feature"
python upload.py --rev=$REVNO --cc=ns-3-reviews@googlegroups.com --oauth2

To update a previous issue with a new patchset, use the -i (–issue) option to avoid the tool creating a new issue. For instance, if the issue to which you want to add a new patchset is numbered 165087, you would do

hg commit -m "merged new feature"
python upload.py --rev=$REVNO --issue=165087 --cc=ns-3-reviews@googlegroups.com --oauth2

See also this wiki HOWTO for more guidance.