LinuxMCE sqlCVS commit Procedure

From LinuxMCE
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.
      • Please check this using: /usr/pluto/bin/sqlCVS -H sqlcvs.linuxmce.org -R 3999 -r dce -U anonymous~nopass diff
    • 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: Update your sqlCVS with the latest using web admin
  • Step 3: Validate your sqlCVS setup
    • If there are any problems please fix these before doing the commit.
      • Validate with: /usr/pluto/bin/sqlCVS -H sqlcvs.linuxmce.org -R 3999 -v -r dce -U anonymous~nopass
        • Do not delete records when it asks, these should be handled in a diff
        • Some changes are not a problem, please ask on the IRC for help if this command shows any problems.
  • Step 4: Commit the change to sqlcvs.linuxmce.org with a comment that refers to the Mantis ticket.
    • Use the command line tool "/usr/pluto/bin/sqlCVS", and commit using "-U anonymous~nopass"
      • Use this: sqlCVS -H sqlcvs.linuxmce.org -R 3999 -a -v -r dce -U anonymous~nopass -c "Mantis #... This does XYZ." checkin
    • The comment and the reference to the Mantis ticket will allow the person validating the commit to find the commit in sqlCVS.
    • Add the reported batch number to the Mantis ticket.
    • Now monitor the ticket for any reported problems.
  • Step 5: 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: View the batch, refer to the ticket to find the correct batch: http://schema.linuxmce.org/sqlCVS/?site=batch/view
      • Step B: Check the commit for any duplicate vendor or product names.
      • Step C: Check the mantis ticket to see if the description is complete.
      • Step D: If sql2cpp must be run with this database, do that as well and commit the code.
      • Step E: If there is any associated code, make sure that gets committed as well.
      • Step F: Commit the change under your own validated login.
      • Step G: Validate the database on linuxmce.org: LD_LIBRARY_PATH=/opt/sqlCVS /opt/sqlCVS/sqlCVS -v
      • Step H: Note the commit batch in the Mantis ticket and close the ticket.