Re: [OE-core] [poky] Commit and Patch message guidelines - fifth draft

2011-05-15 Thread Leon Woestenberg
Hello Mark,

On Thu, May 12, 2011 at 9:57 PM, Mark Hatle mark.ha...@windriver.com wrote:
 ... Let the code
 tell the story of the mechanics of the change (as much as possible), and let
 your comment tell the other details -- i.e. what the problem was, how it
 manifested itself (symptoms), and if necessary, the justification for why the
 fix was done in manner that it was.

In other words, the long commit message must describe *why* the change
was needed (instead of what has changed).

I find this item the most lacking in current OpenEmbedded/Poky related commits.

Thanks for working on this,
-- 
Leon

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


Re: [OE-core] [poky] Commit and Patch message guidelines - fifth draft

2011-05-12 Thread Darren Hart
Hi Mark,

Thanks for writing this up. I think this is on the right track. A few
comments inline...

As a side note, I'm currently working with various people on improving
our review/pull process which dovetails with this a bit, but probably
doesn't need to be explicitly called out here.



On 05/12/2011 12:57 PM, Mark Hatle wrote:
 This is the fifth draft of the guidelines... All previous feedback has been
 incorporated...
 
 (The fourth draft was reviewed and found lacking in a few key areas, so I
 skipped the public posting.)
 
 The new concept of Upstream-Status was added by the fourth draft as
 something strongly suggested, but optional.  This is likely an area that may
 still need some revision before we call this final.
 
 
 
 Introduction
 
 
 This set of guidelines is intended to help both the developer and reviewers of
 changes determine reasonable patch headers and change commit messages. Often
 when working with the code, you forget that not everyone is as familiar with 
 the
 problem and/or fix as you are. Often the next person in the code doesn't
 understand what or why something is done so they quickly look at patch header
 and commit messages. Unless these messages are clear it will be difficult to
 understand the relevance of a given change and how future changes may impact
 previous decisions.
 
 This policy refers both to patches that are being applied by recipes as well 
 as
 commit messages that are part of the source control system, usually git. A 
 patch
 file needs a header in order to describe the specific change that that are 
 made
 within that patch, while a commit message describes one or more changes to the
 overall project or system. Both the patch headers and commit messages require
 the same attention and basic details, however the purposes of the messages are
 slightly different. A commit message documents all of the changes made as part
 of a commit, while a patch header documents items specific to a single patch. 
 In
 many cases the patch header can also be used as the commit message.
 
 This policy does not cover the testing of the changes, or the technical 
 criteria
 for accepting a patch.
 
 By following these guidelines we will have a better record of the problems and
 solutions made over the course of development. It will also help establish a
 clear provenance of all of the code and changes within the development.
 
 
 General Information
 ---
 
 While specific to the Linux kernel development, the following could also be
 considered a general guide for any Open Source development:
 
 http://ldn.linuxfoundation.org/book/how-participate-linux-community
 
 Many of the guidelines in this document are related to the items in that
 information.
 
 Pay particular attention to section 5.3 that talks about patch preparation.
 The key thing to remember is to break up your changes into logical sections.
 Otherwise you run the risk of not being able to even explain the purpose of a
 change in the patch headers!
 
 In addition section 5.4 explains the purpose of the Signed-off-by: tag line as
 discussed in later parts of this document. Due to the importance of the
 Signed-off-by: tag line a copy of the description follows:
 
 Signed-off-by: this is a developer's certification that he or she has
 the right to submit the patch for inclusion into the [project].  It is
 an agreement to the Developer's Certificate of Origin, the full text of
 which can be found in [Linux Kernel] Documentation/SubmittingPatches.
 Code without a proper signoff cannot be merged into the mainline.
 
 For more information on the Developer's Certificate of Origin and the Linux
 Kernel Documentation/SubmittingPatches, see:
 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/SubmittingPatches
 
 Patch Headers and Commit Messages
 -
 There seems to always be a question or two surrounding what a person
 should put in a patch header, or commit message.
 
 The general rules always apply, those being that there is a single line
 short log or summary of the change (think of this as the subject when the 
 patch
 is e-mailed), and then the more detailed long log, and closure with tag lines
 such as Signed-off-by:.


A complete list of acceptable tag lines should be documented. Consider:

Signed-off-by:
Acked-by:\__ The difference between these two is subtle. Acked-by
Reviewed-by: /   implies a certain degree of authority over the affected
Tested-by:   code.
Reported-by:


 
 
 New development
 ---
 
 A minimal patch or commit message would be of the format:
 
Short log / Statement of what needed to be changed.
 
(Optional pointers to external resources, such as defect tracking)
 
The intent of your change.
 
(Optional, if it's not clear from above) how your change resolves the
issues in the first part.
 
Tag line(s) at the end.
 
 For example:
 

Re: [OE-core] [poky] Commit and Patch message guidelines - fifth draft

2011-05-12 Thread Mark Hatle
On 5/12/11 4:00 PM, Darren Hart wrote:
 Hi Mark,
 
 Thanks for writing this up. I think this is on the right track. A few
 comments inline...
 
 As a side note, I'm currently working with various people on improving
 our review/pull process which dovetails with this a bit, but probably
 doesn't need to be explicitly called out here.
 
 
 
 On 05/12/2011 12:57 PM, Mark Hatle wrote:
 This is the fifth draft of the guidelines... All previous feedback has been
 incorporated...

 (The fourth draft was reviewed and found lacking in a few key areas, so I
 skipped the public posting.)

 The new concept of Upstream-Status was added by the fourth draft as
 something strongly suggested, but optional.  This is likely an area that may
 still need some revision before we call this final.

 

 Introduction
 

 This set of guidelines is intended to help both the developer and reviewers 
 of
 changes determine reasonable patch headers and change commit messages. Often
 when working with the code, you forget that not everyone is as familiar with 
 the
 problem and/or fix as you are. Often the next person in the code doesn't
 understand what or why something is done so they quickly look at patch header
 and commit messages. Unless these messages are clear it will be difficult to
 understand the relevance of a given change and how future changes may impact
 previous decisions.

 This policy refers both to patches that are being applied by recipes as well 
 as
 commit messages that are part of the source control system, usually git. A 
 patch
 file needs a header in order to describe the specific change that that are 
 made
 within that patch, while a commit message describes one or more changes to 
 the
 overall project or system. Both the patch headers and commit messages require
 the same attention and basic details, however the purposes of the messages 
 are
 slightly different. A commit message documents all of the changes made as 
 part
 of a commit, while a patch header documents items specific to a single 
 patch. In
 many cases the patch header can also be used as the commit message.

 This policy does not cover the testing of the changes, or the technical 
 criteria
 for accepting a patch.

 By following these guidelines we will have a better record of the problems 
 and
 solutions made over the course of development. It will also help establish a
 clear provenance of all of the code and changes within the development.


 General Information
 ---

 While specific to the Linux kernel development, the following could also be
 considered a general guide for any Open Source development:

 http://ldn.linuxfoundation.org/book/how-participate-linux-community

 Many of the guidelines in this document are related to the items in that
 information.

 Pay particular attention to section 5.3 that talks about patch preparation.
 The key thing to remember is to break up your changes into logical sections.
 Otherwise you run the risk of not being able to even explain the purpose of a
 change in the patch headers!

 In addition section 5.4 explains the purpose of the Signed-off-by: tag line 
 as
 discussed in later parts of this document. Due to the importance of the
 Signed-off-by: tag line a copy of the description follows:

 Signed-off-by: this is a developer's certification that he or she has
 the right to submit the patch for inclusion into the [project].  It is
 an agreement to the Developer's Certificate of Origin, the full text of
 which can be found in [Linux Kernel] Documentation/SubmittingPatches.
 Code without a proper signoff cannot be merged into the mainline.

 For more information on the Developer's Certificate of Origin and the Linux
 Kernel Documentation/SubmittingPatches, see:
 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/SubmittingPatches

 Patch Headers and Commit Messages
 -
 There seems to always be a question or two surrounding what a person
 should put in a patch header, or commit message.

 The general rules always apply, those being that there is a single line
 short log or summary of the change (think of this as the subject when the 
 patch
 is e-mailed), and then the more detailed long log, and closure with tag lines
 such as Signed-off-by:.
 
 
 A complete list of acceptable tag lines should be documented. Consider:
 
 Signed-off-by:
 Acked-by:\__ The difference between these two is subtle. Acked-by
 Reviewed-by: /   implies a certain degree of authority over the affected
 Tested-by:   code.
 Reported-by:

These were in the original guidelines, but it was decided by the OE-TSC, and
general comments from the OE users/developers that Signed-off-by is all that is
needed.

Anything beyond this is acceptable, but not part of the overall guidlines.

 


 New development
 ---

 A minimal patch or commit message would be of the format:

Short log / Statement of 

Re: [OE-core] [poky] Commit and Patch message guidelines - fifth draft

2011-05-12 Thread Darren Hart
One more thing. There is a great deal of cross-posting to the various
lists. We should discourage this. At least mentioning somewhere in here
that patches should be sent to the appropriate list with maintainers and
involved developers on CC and not cross posted would be a help.

--
Darren

On 05/12/2011 02:00 PM, Darren Hart wrote:
 Hi Mark,
 
 Thanks for writing this up. I think this is on the right track. A few
 comments inline...
 
 As a side note, I'm currently working with various people on improving
 our review/pull process which dovetails with this a bit, but probably
 doesn't need to be explicitly called out here.
 
 
 
 On 05/12/2011 12:57 PM, Mark Hatle wrote:
 This is the fifth draft of the guidelines... All previous feedback has been
 incorporated...

 (The fourth draft was reviewed and found lacking in a few key areas, so I
 skipped the public posting.)

 The new concept of Upstream-Status was added by the fourth draft as
 something strongly suggested, but optional.  This is likely an area that may
 still need some revision before we call this final.

 

 Introduction
 

 This set of guidelines is intended to help both the developer and reviewers 
 of
 changes determine reasonable patch headers and change commit messages. Often
 when working with the code, you forget that not everyone is as familiar with 
 the
 problem and/or fix as you are. Often the next person in the code doesn't
 understand what or why something is done so they quickly look at patch header
 and commit messages. Unless these messages are clear it will be difficult to
 understand the relevance of a given change and how future changes may impact
 previous decisions.

 This policy refers both to patches that are being applied by recipes as well 
 as
 commit messages that are part of the source control system, usually git. A 
 patch
 file needs a header in order to describe the specific change that that are 
 made
 within that patch, while a commit message describes one or more changes to 
 the
 overall project or system. Both the patch headers and commit messages require
 the same attention and basic details, however the purposes of the messages 
 are
 slightly different. A commit message documents all of the changes made as 
 part
 of a commit, while a patch header documents items specific to a single 
 patch. In
 many cases the patch header can also be used as the commit message.

 This policy does not cover the testing of the changes, or the technical 
 criteria
 for accepting a patch.

 By following these guidelines we will have a better record of the problems 
 and
 solutions made over the course of development. It will also help establish a
 clear provenance of all of the code and changes within the development.


 General Information
 ---

 While specific to the Linux kernel development, the following could also be
 considered a general guide for any Open Source development:

 http://ldn.linuxfoundation.org/book/how-participate-linux-community

 Many of the guidelines in this document are related to the items in that
 information.

 Pay particular attention to section 5.3 that talks about patch preparation.
 The key thing to remember is to break up your changes into logical sections.
 Otherwise you run the risk of not being able to even explain the purpose of a
 change in the patch headers!

 In addition section 5.4 explains the purpose of the Signed-off-by: tag line 
 as
 discussed in later parts of this document. Due to the importance of the
 Signed-off-by: tag line a copy of the description follows:

 Signed-off-by: this is a developer's certification that he or she has
 the right to submit the patch for inclusion into the [project].  It is
 an agreement to the Developer's Certificate of Origin, the full text of
 which can be found in [Linux Kernel] Documentation/SubmittingPatches.
 Code without a proper signoff cannot be merged into the mainline.

 For more information on the Developer's Certificate of Origin and the Linux
 Kernel Documentation/SubmittingPatches, see:
 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/SubmittingPatches

 Patch Headers and Commit Messages
 -
 There seems to always be a question or two surrounding what a person
 should put in a patch header, or commit message.

 The general rules always apply, those being that there is a single line
 short log or summary of the change (think of this as the subject when the 
 patch
 is e-mailed), and then the more detailed long log, and closure with tag lines
 such as Signed-off-by:.
 
 
 A complete list of acceptable tag lines should be documented. Consider:
 
 Signed-off-by:
 Acked-by:\__ The difference between these two is subtle. Acked-by
 Reviewed-by: /   implies a certain degree of authority over the affected
 Tested-by:   code.
 Reported-by:
 
 


 New development
 ---

 A minimal patch or commit message 

Re: [OE-core] [poky] Commit and Patch message guidelines - fifth draft

2011-05-12 Thread William Mills

On 05/12/2011 05:11 PM, Darren Hart wrote:

One more thing. There is a great deal of cross-posting to the various
lists. We should discourage this. At least mentioning somewhere in here
that patches should be sent to the appropriate list with maintainers and
involved developers on CC and not cross posted would be a help.


Ok, so I am going to go ahead and ask the dumb question.  Where is the 
write up that say what list is for what?


It seems to me there is a whole bunch of discussion happening on the 
poky list about making changes that that would effect everyone using 
openembedded-core.  Do we have two lists for discussion of stuff that 
effect the oe-core?


-- Bill

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


Re: [OE-core] [poky] Commit and Patch message guidelines - fifth draft

2011-05-12 Thread Darren Hart


On 05/12/2011 03:05 PM, William Mills wrote:
 On 05/12/2011 05:11 PM, Darren Hart wrote:
 One more thing. There is a great deal of cross-posting to the various
 lists. We should discourage this. At least mentioning somewhere in here
 that patches should be sent to the appropriate list with maintainers and
 involved developers on CC and not cross posted would be a help.
 
 Ok, so I am going to go ahead and ask the dumb question.  Where is the 
 write up that say what list is for what?

Not a dumb question at all! Unfortunately, I think a lot of people are
confused about this, which is natural as much of this separation is
still new to people.

There is: http://www.yoctoproject.org/community/mailing-lists

Which needs to be updated to better reflect the oe-core aspect I think.

And: http://openembedded.org/index.php/Mailing_lists

This accurately describes oe-core (and other oe specific lists).

 
 It seems to me there is a whole bunch of discussion happening on the 
 poky list about making changes that that would effect everyone using 
 openembedded-core.  Do we have two lists for discussion of stuff that 
 effect the oe-core?

No. As I understand it, things that go into poky.git/meta and things
that go into oe-core should be sent to the openembedded-core list. Patch
series for poky.git should be isolated in such a way so that they do not
include changes to meta (oe-core) and other areas at the same time.

Does anyone have a different view?

 
 -- Bill

-- 
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


Re: [OE-core] [poky] Commit and Patch message guidelines - fifth draft

2011-05-12 Thread William Mills


On 05/12/2011 07:49 PM, Darren Hart wrote:

There is: http://www.yoctoproject.org/community/mailing-lists

Which needs to be updated to better reflect the oe-core aspect I think.


This might be at least one source of the cross posting as people are not 
sure poky vs oe-core.



It seems to me there is a whole bunch of discussion happening on the
poky list about making changes that that would effect everyone using
openembedded-core.  Do we have two lists for discussion of stuff that
effect the oe-core?


No. As I understand it, things that go into poky.git/meta and things
that go into oe-core should be sent to the openembedded-core list. Patch
series for poky.git should be isolated in such a way so that they do not
include changes to meta (oe-core) and other areas at the same time.


 Does anyone have a different view?


This seems logical to me. Thanks.  I also think discussion of a 
potential patch should be done on the list that the patch would go to yes?


Maybe we could drive that definition to ground and get the mailing list 
page updated.


---

So above, perhaps my whole bunch was overstated.  Let me retract that 
and say at least some.


I don't mean to pick on you Darren; I really am just trying to 
understand and an example is often helpful.  Earlier you and Richard 
were discussing directdisc images [1] with a suggestion that it might be 
ripe for removal.  Should that have been on oe-core?


[1] https://lists.yoctoproject.org/pipermail/poky/2011-May/006106.htm

Thanks,
Bill

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


Re: [OE-core] [poky] Commit and Patch message guidelines - fifth draft

2011-05-12 Thread Darren Hart


On 05/12/2011 07:03 PM, William Mills wrote:
 
 On 05/12/2011 07:49 PM, Darren Hart wrote:
 There is: http://www.yoctoproject.org/community/mailing-lists

 Which needs to be updated to better reflect the oe-core aspect I think.
 
 This might be at least one source of the cross posting as people are not 
 sure poky vs oe-core.
 
 It seems to me there is a whole bunch of discussion happening on the
 poky list about making changes that that would effect everyone using
 openembedded-core.  Do we have two lists for discussion of stuff that
 effect the oe-core?

 No. As I understand it, things that go into poky.git/meta and things
 that go into oe-core should be sent to the openembedded-core list. Patch
 series for poky.git should be isolated in such a way so that they do not
 include changes to meta (oe-core) and other areas at the same time.
  
   Does anyone have a different view?
  
 
 This seems logical to me. Thanks.  I also think discussion of a 
 potential patch should be done on the list that the patch would go to yes?
 
 Maybe we could drive that definition to ground and get the mailing list 
 page updated.
 
 ---
 
 So above, perhaps my whole bunch was overstated.  Let me retract that 
 and say at least some.
 
 I don't mean to pick on you Darren; 

Oh, I think I asked for this one :-)

 I really am just trying to 
 understand and an example is often helpful.  Earlier you and Richard 
 were discussing directdisc images [1] with a suggestion that it might be 
 ripe for removal.  Should that have been on oe-core?
 

You are correct. I should have sent that to oe-core as the
implementation in question is in poky.git/meta (ie oe-core). Clearly,
this is easy to miss and will take some time for us to get there.

Thanks for pointing that out!

 [1] https://lists.yoctoproject.org/pipermail/poky/2011-May/006106.htm
 
 Thanks,
 Bill

-- 
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core