LinuxMCE sqlCVS commit Procedure

From LinuxMCE
Revision as of 16:40, 19 March 2008 by Danielk (Talk | contribs) (added short description of motivation for the proceedure.)

Jump to: navigation, search

NOTE: This is the tentative procedure for handling sqlCVS commits

This procedure is needed to avoid "breaking the build" and to get a clean history of commits so any problem commits can be reverted efficiently and without losing good commits in the process. As part of compiling LinuxMCE the database is automatically validated. If any errors are found the build script stops in it tracks and awaits human intervention.

Note: Reverts require caution as well, since newer commits may depend on them, but this document deals with new commits.

  • Step 1: Create a Mantis ticket for the commit.
    • This should describe in detail what the purpose of the commit is.
    • Each commit should only fix one bug or add one feature.
    • If sql2cpp must be run this should be noted in the ticket as well.
    • If there is any code associated with the commit it should be attached to the ticket.
  • Step 2: Validate your sqlCVS setup with "sqlCVS -v"
    • If there are any problems please fix these before doing the commit.
  • Step 3: Commit the change to sqlcvs.linuxmce.org with a comment that refers to the Mantis ticket.
    • Use the command line tool "/usr/bin/pluto/sqlCVS", and commit using "-U anonymous~nopass".
    • The comment and the reference to the Mantis ticket will allow the person validating the commit to find the commit in sqlCVS.
    • Now monitor the ticket for any reported problems.
  • Step 4: Someone other than the person committing the fix will validate the sqlCVS commit.
    • If any problems are found going through these steps note this on the Mantis ticket and stop.
    • You may at your option "fix" the commit, but then you should do another anonymous commit, note it on the ticket, and have someone else should perform the validation steps.
      • Step A: pull the anonymous commit.
      • Step B: Run "sqlCVS -v"
      • Step C: Check the commit for any duplicate vendor or product names.
      • Step D: Check the mantis ticket to see if the description is complete.
      • Step E: If sql2cpp must be run with this database, do that as well and commit the code.
      • Step F: If there is any associated code, make sure that gets committed as well.
      • Step G: Commit the change under your own validated login.
      • Step H: Note the commit batch in the Mantis ticket and close the ticket.