Requirements and deliverables for patch submission

From Farsides Wiki

Jump to: navigation, search

Contents

[edit] Checklist before submitting for review

  1. Tests: Check that 100% of the code you modified is covered by unit tests, with no errors or warnings, for both JS and Python code.
  2. jslint: run jslint static/js/jquery.cardstories.js and fix all warnings
  3. Comments: check that the code you modified or added is properly documented, in a way that makes it easier for a new developer to understand the logic and will facilitate maintenance.
  4. Browsers: Test the patch with the following browsers to ensure it works: Firefox 3.6, 4.0, 5.0; Chromium (latest stable); IE 8.0, 9.0; Safari (latest stable).
  5. Copyrights: Did you write all the code contained in the patch? (if not, make sure you add the proper credits to the LICENSE.txt file)
  6. Commit: Make sure the patch is an isolated commit (one per ticket) with a thorough commit message, containing "closes #14" (replacing 14 with the ticket number)
  7. Repository: Publish your commits on a public git repository (for example gitorious)
  8. Ticket update: Post the URL to the repository on the ticket
  9. Patch maintenance: Until the patch is merged, keep up to date with the repositories of the other developers (see below)

[edit] Monitoring other developer's work

$ git remote add arbrandes git://gitorious.org/~arbrandes/cardstories/arbrandes-cardstories.git
$ git fetch arbrandes
$ git checkout -b arbrandes arbrandes/master

$ git remote add mtyaka git://gitorious.org/cardstories-mtyaka/cardstories.git
$ git fetch mtyaka
$ git checkout -b mtyaka mtyaka/master

$ git remote add antoviaque git://gitorious.org/~antoviaque/cardstories/antoviaques-cardstories.git
$ git fetch antoviaque
$ git checkout -b antoviaque antoviaque/master

$ git remote add blanchard git://gitorious.org/~dblanchard/cardstories/dblanchards-cardstories.git
$ git fetch blanchard
$ git checkout -b blanchard blanchard/master

[edit] Keeping the repository updated

$ git stash
$ git fetch --all
$ git log <on each remote that had some activity> & see what went on
$ git merge <the remotes that may have some relation with my current work>
$ git stash apply & resolve conflicts
$ git commit
$ git push

[edit] Installing jslint

jslint is in the jscoverage source package but it is not available in the .deb, so you'll need to compile it from source:

$ dget http://ftp.de.debian.org/debian/pool/main/j/jscoverage/jscoverage_0.3.1-1.dsc
$ tar xvzf jscoverage_*.orig.tar.gz
$ cd jscoverage-*
$ ./configure
$ make
$ make install
Personal tools