libvirt-cim-bounces@redhat.com wrote on 2009-01-19 14:37:01:

> Very Good write up. I have few ideas along with some comments on this
> patch(Please see inline for comments).
> We can improve it further including the information for "How to write a
> test case?"
> This would include information like:
> 1) What kind of function should be included in the libraries present in
> the XenKVMLib directory.
> 2) What should not be included in libraries present in the cimtest/lib.
> 3) What type of logger statements to be used for giving different
> messages, for ex: use logger.info("Some information") or else use
> logger.error("To print error")
> 4) Also, License information to be included in the test cases.
> 5) Including small description about what the test case does at the
> beginning will help in maintenance in the long run.
> 6) Commands to submit a Single patch, commands to submit a Patch Set
> using *"hg".
> T*his will make things easy for someone who is using *hg* for the first
> time and might encourage more new people to contribute.
> We can rename the CodingStyle file to "Cimtest_Howto_Doc" and then
> Include all the above information along with the CodingStyle in one file.
> We can advertise the presence of these documents at the
> http://wiki.libvirt.org/page/Cimtest_todo page.
> Any thoughts ??
>

  Good. When this patch is applied, I think we should check all the libraries and test cases
  present to make them follow this coding style. Then we can cook up new tc.

>
> Kaitlin Rupert wrote:
> > # HG changeset patch
> > # User Kaitlin Rupert <karupert@us.ibm.com>
> > # Date 1232145843 28800
> > # Node ID d94576542b4d6479ad04da466406c0cdb391f6e8
> > # Parent  684561f21975c7420cb7e15affc1eec4a8ed35ae
> > [TEST] Add CodyingSystem and SubmittingPatches files
> >
> > Signed-off-by: Kaitlin Rupert <karupert@us.ibm.com>
> >
> > +
> > +Guidelines for Submitting Patches.
> > +
> > +           Patches should be submitted using Mercurial's
> patchbomb extension,
> > +           and we recommend using the queues extension as well.  
> On top of that,
> > +           we have some guidelines you should follow when
> submitting patches.  
> > +           This makes reviewing patches easier, which in turns
> improves the
> > +           chances of your patch being accepted in a timely fashion.
> > +
> > +Single Patches:
> > +
> > +       (a) When you add a patch to the queue you have an idea of
> where you're
> > +           going with it, and the commit message should reflect that.  Be
> > +           specific.  Avoid  just saying something like, "Various fixes to
> > +           AllocationCapabilities."  Add a list of what was
> actually fixed,
> > +           like, "Add EnumInstanceNames support," and, "Eliminateduplicate
> > +           instances."  
> > +
> > +       (b) The first line of your commit message will be the
> subject of the
> > +           patch email when you send it out, so write it like a
> subject.  Keep
> > +           it short and to the point, then start a new line and
> feel free to be
> > +           as verbose as you need to be.  The entire commit
> message will be
> > +           included in the patch.
> > +
> > +       (c) Stay on task with a patch.  If you notice other
> problems while you
> > +           are working on patch, and they are not most definitely
> specific to
> > +           your patch, they should be another patch.  The same goes for
> > +           nitpicking.  While it might be only a line or two hereand there
> > +           that is off track, this is actually one of the easiest
> ways to make
> > +           a patch difficult to review.  All the trivial changes
> hide what is
> > +           really going on.  Make the unrelated changes a new
> patch or don't
> > +           make them at all.
> > +
> > +       (d) Before you email, export.  If you have a patch called
> "alloc_fixes",
> > +           which would be emailed with "hg email alloc_fixes",
> you should first
> > +           run "hg export alloc_fixes".  This lets you review
> your patch.  Does
> > +           it have any typos in the comments?  Did you
> accidentally include an
> > +           irrelevant change?  Is your commit message still
> accurate and useful?
> > +           This is the single biggest step in ensuring you have a
> good patch.
> >  
> Need to include the step in case where hg export exposes something missing.
> Do we need to rework or just include the changes on top of the latest
> changes commit the changes and send the two patches?
> OR include the new work in the latest cimtest tree, do the missing
> changes and send all the changes as part of one patch.
> > +
> > +       (e) If your patch needs to be reworked and resent, prepend
> a "version
> > +           number" to the first line of the commit message.  For
> example, "Add
> > +           EnumInstance to RASD," becomes "(#2) Add EnumInstance
> to RASD."  
> > +           This helps mail readers thread discussions correctly and helps
> > +           maintainers know they are applying the right version
> of your patch.  
> > +           At the end of the commit message, explain what is
> different from one
> > +           version to the next.  Nobody likes having to diff a diff.  
> > +
> > +       (f) If your patch depends on a patch that exists on the
> mailing list but
> > +           not in the tree, it is okay to send your patch to the
> list as long
> > +           as your commit message mentions the dependency.  It is
> also a good
> > +           idea to import the patch into your tree before you
> make your patch.
> > +           For example, a new patch called "cu_statusf API
> change" is on the
> > +           list, and your patch needs the new API.  Save the
> email (no need to
> > +           trim headers) as api_change.eml, then do "hg qimport
> api_change.eml"
> > +           and "hg qpush" so that the patch is applied to your
> tree.  Now write
> > +           your patch on top of it.  You should still indicate
> the dependency
> > +           in your commit message.
> > +
> > +
> > +Patchsets:
> > +
> > +       (a) When you send a group of patches, Mercurial's email
> extension will
> > +           create a "header" email.  Make the subject and body ofthat email
> > +           meaningful, so we know how the patches relate.  It's
> easy to say,
> > +           "Each patch has a commit message, it's obvious how they work
> > +           together," but the rest of the list usually won't
> agree with that.  
> > +           If the commit messages for each patch are good, you
> shouldn't need
> > +           more than a sentence or two to tie them all together,
> but you do
> > +           need it.
> > +
> > +       (b) If any of your patches are rejected and you rework
> them, resend the
> > +           entire set.  This prevents things like, "So use patch
> 1 of 4 from
> > +           the set I sent yesterday, 2 and 3 of 4 from the patch
> I sent an hour
> > +           later, and patch 4 of 4 from today."
> > +
> > +       (c) If you resend a patchset, apply part (e) of the Single Patches
> > +           guidelines to your "Patch [0 of 3]" header email, for
> all the same
> > +           reasons.
> > +
> >  
> Including the Sign-off in each cimtest patch is also very important.
> > +Questions/Comments on the Guidelines should be directed to:
> > + Kaitlin Rupert<kaitlin@linux.vnet.ibm.com>
> >
> > _______________________________________________
> > Libvirt-cim mailing list
> > Libvirt-cim@redhat.com
> > https://www.redhat.com/mailman/listinfo/libvirt-cim
> >  
>
> --
> Thanks and Regards,
> Deepti B. Kalakeri
> IBM Linux Technology Center
> deeptik@linux.vnet.ibm.com
>
> _______________________________________________
> Libvirt-cim mailing list
> Libvirt-cim@redhat.com
> https://www.redhat.com/mailman/listinfo/libvirt-cim