Difference between revisions of "LinuxMCE sqlCVS commit Procedure"

From LinuxMCE
Jump to: navigation, search
(initial article)
 
m (Changed the URL for sqlCVS batch check via web.)
 
(7 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 +
[[Category: Development]]
 
==NOTE: This is the tentative procedure for handling sqlCVS commits==
 
==NOTE: This is the tentative procedure for handling sqlCVS commits==
  
* Step 1: Create a Mantis ticket for the commit.
+
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.  
  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"
+
Note: Reverts require caution as well, since newer commits may depend on them, but this document deals with new commits.
  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.
+
* Step 1: Create a Mantis ticket for the commit.
  Use the command line tool "/usr/bin/pluto/sqlCVS", and commit using "-U anonymous~nopass".
+
** This should describe in detail what the purpose of the commit is.
  The comment and the reference to the Mantis ticket will allow the person validating the
+
** Each commit should only fix one bug or add one feature.
  commit to find the commit in sqlCVS.
+
*** 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.
  
  (Now monitor the ticket for any reported problems)
+
* Step 2: Update your sqlCVS with the latest using web admin
  
* Step 4: Someone other than the person committing the fix will validate the sqlCVS commit.
+
* Step 3: Validate your sqlCVS setup
  (If any problems are found going through these steps note this on the Mantis ticket and stop.)
+
** If there are any problems please fix these before doing the commit.
    Step A: pull the anonymous commit.
+
*** Validate with: '''/usr/pluto/bin/sqlCVS -H sqlcvs.linuxmce.org -R 3999 -v -r dce -U anonymous~nopass'''
    Step B: Run "sqlCVS -v"
+
**** Do not delete records when it asks, these should be handled in a diff
    Step C: Check the commit for any duplicate vendor or product names.
+
**** Some changes are not a problem, please ask on the IRC for help if this command shows any problems.
    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 4: Commit the change to sqlcvs.linuxmce.org with a comment that refers to the Mantis ticket.
    Step F: If there is any associated code, make sure that gets committed as well.
+
** Use the command line tool "/usr/pluto/bin/sqlCVS", and commit using "-U anonymous~nopass"
    Step G: Commit the change under your own validated login.
+
*** Use this: '''sqlCVS -H sqlcvs.linuxmce.org -R 3999 -a -v -r dce -U anonymous~nopass -c "Mantis #... This does XYZ." checkin'''
    Step H: Note the commit batch in the Mantis ticket and close the ticket.
+
** 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.

Latest revision as of 23:38, 12 February 2018

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.