diff options
author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2013-04-09 15:02:09 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-04-10 16:20:56 +0100 |
commit | 6fedf7b147d2364741e258fbcaa2c48f0458a0ae (patch) | |
tree | f2cf94e506f8dee3744301bc4903acf94fc0ee3c /documentation/dev-manual/dev-manual-newbie.xml | |
parent | 78ec6f7c076e95448ca0f136031be2042f72a5b2 (diff) | |
download | poky-6fedf7b147d2364741e258fbcaa2c48f0458a0ae.tar.gz |
dev-manual: Edits to "Workflows" section.
(From yocto-docs rev: 6b076afb92454b8a7279f747a78bbf565a93c09d)
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/dev-manual/dev-manual-newbie.xml')
-rw-r--r-- | documentation/dev-manual/dev-manual-newbie.xml | 44 |
1 files changed, 24 insertions, 20 deletions
diff --git a/documentation/dev-manual/dev-manual-newbie.xml b/documentation/dev-manual/dev-manual-newbie.xml index a365e07f1d..7eb751aa81 100644 --- a/documentation/dev-manual/dev-manual-newbie.xml +++ b/documentation/dev-manual/dev-manual-newbie.xml | |||
@@ -1084,7 +1084,7 @@ | |||
1084 | tracks every change and whose structure provides branches for all diverging functionality. | 1084 | tracks every change and whose structure provides branches for all diverging functionality. |
1085 | Although there is no need to use Git, many open source projects do so. | 1085 | Although there is no need to use Git, many open source projects do so. |
1086 | For the Yocto Project, a key individual called the "maintainer" is responsible for the "master" | 1086 | For the Yocto Project, a key individual called the "maintainer" is responsible for the "master" |
1087 | branch of the Git repository. | 1087 | branch of a given Git repository. |
1088 | The "master" branch is the “upstream” repository where the final builds of the project occur. | 1088 | The "master" branch is the “upstream” repository where the final builds of the project occur. |
1089 | The maintainer is responsible for allowing changes in from other developers and for | 1089 | The maintainer is responsible for allowing changes in from other developers and for |
1090 | organizing the underlying branch structure to reflect release strategies and so forth. | 1090 | organizing the underlying branch structure to reflect release strategies and so forth. |
@@ -1094,7 +1094,7 @@ | |||
1094 | </para> | 1094 | </para> |
1095 | 1095 | ||
1096 | <para> | 1096 | <para> |
1097 | The project also has contribution repositories known as “contrib” areas. | 1097 | The project also has contribution repositories known as "contrib" areas. |
1098 | These areas temporarily hold changes to the project that have been submitted or committed | 1098 | These areas temporarily hold changes to the project that have been submitted or committed |
1099 | by the Yocto Project development team and by community members that contribute to the project. | 1099 | by the Yocto Project development team and by community members that contribute to the project. |
1100 | The maintainer determines if the changes are qualified to be moved from the "contrib" areas | 1100 | The maintainer determines if the changes are qualified to be moved from the "contrib" areas |
@@ -1105,7 +1105,7 @@ | |||
1105 | Developers (including contributing community members) create and maintain cloned repositories | 1105 | Developers (including contributing community members) create and maintain cloned repositories |
1106 | of the upstream "master" branch. | 1106 | of the upstream "master" branch. |
1107 | These repositories are local to their development platforms and are used to develop changes. | 1107 | These repositories are local to their development platforms and are used to develop changes. |
1108 | When a developer is satisfied with a particular feature or change, they “push” the changes | 1108 | When a developer is satisfied with a particular feature or change, they "push" the changes |
1109 | to the appropriate "contrib" repository. | 1109 | to the appropriate "contrib" repository. |
1110 | </para> | 1110 | </para> |
1111 | 1111 | ||
@@ -1113,14 +1113,14 @@ | |||
1113 | Developers are responsible for keeping their local repository up-to-date with "master". | 1113 | Developers are responsible for keeping their local repository up-to-date with "master". |
1114 | They are also responsible for straightening out any conflicts that might arise within files | 1114 | They are also responsible for straightening out any conflicts that might arise within files |
1115 | that are being worked on simultaneously by more than one person. | 1115 | that are being worked on simultaneously by more than one person. |
1116 | All this work is done locally on the developer’s machine before anything is pushed to a | 1116 | All this work is done locally on the developer’s machines before anything is pushed to a |
1117 | "contrib" area and examined at the maintainer’s level. | 1117 | "contrib" area and examined at the maintainer’s level. |
1118 | </para> | 1118 | </para> |
1119 | 1119 | ||
1120 | <para> | 1120 | <para> |
1121 | A somewhat formal method exists by which developers commit changes and push them into the | 1121 | A somewhat formal method exists by which developers commit changes and push them into the |
1122 | "contrib" area and subsequently request that the maintainer include them into "master" | 1122 | "contrib" area and subsequently request that the maintainer include them into "master" |
1123 | This process is called “submitting a patch” or “submitting a change.” | 1123 | This process is called “submitting a patch” or "submitting a change." |
1124 | For information on submitting patches and changes, see the | 1124 | For information on submitting patches and changes, see the |
1125 | "<link linkend='how-to-submit-a-change'>How to Submit a Change</link>" section. | 1125 | "<link linkend='how-to-submit-a-change'>How to Submit a Change</link>" section. |
1126 | </para> | 1126 | </para> |
@@ -1150,7 +1150,7 @@ | |||
1150 | to more easily include or refuse changes.</para> | 1150 | to more easily include or refuse changes.</para> |
1151 | <para>It is also good practice to leave the repository in a state that allows you to | 1151 | <para>It is also good practice to leave the repository in a state that allows you to |
1152 | still successfully build your project. In other words, do not commit half of a feature, | 1152 | still successfully build your project. In other words, do not commit half of a feature, |
1153 | then add the other half in a separate, later commit. | 1153 | then add the other half as a separate, later commit. |
1154 | Each commit should take you from one buildable project state to another | 1154 | Each commit should take you from one buildable project state to another |
1155 | buildable state.</para></listitem> | 1155 | buildable state.</para></listitem> |
1156 | <listitem><para><emphasis>Use Branches Liberally:</emphasis> It is very easy to create, use, and | 1156 | <listitem><para><emphasis>Use Branches Liberally:</emphasis> It is very easy to create, use, and |
@@ -1158,25 +1158,27 @@ | |||
1158 | You can name these branches anything you like. | 1158 | You can name these branches anything you like. |
1159 | It is helpful to give them names associated with the particular feature or change | 1159 | It is helpful to give them names associated with the particular feature or change |
1160 | on which you are working. | 1160 | on which you are working. |
1161 | Once you are done with a feature or change, simply discard the branch.</para></listitem> | 1161 | Once you are done with a feature or change and have merged it |
1162 | into your local master branch, simply discard the temporary | ||
1163 | branch.</para></listitem> | ||
1162 | <listitem><para><emphasis>Merge Changes:</emphasis> The <filename>git merge</filename> | 1164 | <listitem><para><emphasis>Merge Changes:</emphasis> The <filename>git merge</filename> |
1163 | command allows you to take the | 1165 | command allows you to take the |
1164 | changes from one branch and fold them into another branch. | 1166 | changes from one branch and fold them into another branch. |
1165 | This process is especially helpful when more than a single developer might be working | 1167 | This process is especially helpful when more than a single developer might be working |
1166 | on different parts of the same feature. | 1168 | on different parts of the same feature. |
1167 | Merging changes also automatically identifies any collisions or “conflicts” | 1169 | Merging changes also automatically identifies any collisions or "conflicts" |
1168 | that might happen as a result of the same lines of code being altered by two different | 1170 | that might happen as a result of the same lines of code being altered by two different |
1169 | developers.</para></listitem> | 1171 | developers.</para></listitem> |
1170 | <listitem><para><emphasis>Manage Branches:</emphasis> Because branches are easy to use, you should | 1172 | <listitem><para><emphasis>Manage Branches:</emphasis> Because branches are easy to use, you should |
1171 | use a system where branches indicate varying levels of code readiness. | 1173 | use a system where branches indicate varying levels of code readiness. |
1172 | For example, you can have a “work” branch to develop in, a “test” branch where the code or | 1174 | For example, you can have a "work" branch to develop in, a "test" branch where the code or |
1173 | change is tested, a “stage” branch where changes are ready to be committed, and so forth. | 1175 | change is tested, a "stage" branch where changes are ready to be committed, and so forth. |
1174 | As your project develops, you can merge code across the branches to reflect ever-increasing | 1176 | As your project develops, you can merge code across the branches to reflect ever-increasing |
1175 | stable states of the development.</para></listitem> | 1177 | stable states of the development.</para></listitem> |
1176 | <listitem><para><emphasis>Use Push and Pull:</emphasis> The push-pull workflow is based on the | 1178 | <listitem><para><emphasis>Use Push and Pull:</emphasis> The push-pull workflow is based on the |
1177 | concept of developers “pushing” local commits to a remote repository, which is | 1179 | concept of developers "pushing" local commits to a remote repository, which is |
1178 | usually a contribution repository. | 1180 | usually a contribution repository. |
1179 | This workflow is also based on developers “pulling” known states of the project down into their | 1181 | This workflow is also based on developers "pulling" known states of the project down into their |
1180 | local development repositories. | 1182 | local development repositories. |
1181 | The workflow easily allows you to pull changes submitted by other developers from the | 1183 | The workflow easily allows you to pull changes submitted by other developers from the |
1182 | upstream repository into your work area ensuring that you have the most recent software | 1184 | upstream repository into your work area ensuring that you have the most recent software |
@@ -1184,19 +1186,21 @@ | |||
1184 | The Yocto Project has two scripts named <filename>create-pull-request</filename> and | 1186 | The Yocto Project has two scripts named <filename>create-pull-request</filename> and |
1185 | <filename>send-pull-request</filename> that ship with the release to facilitate this | 1187 | <filename>send-pull-request</filename> that ship with the release to facilitate this |
1186 | workflow. | 1188 | workflow. |
1187 | You can find these scripts in the local Yocto Project files Git repository in | 1189 | You can find these scripts in the <filename>scripts</filename> |
1188 | the <filename>scripts</filename> directory.</para> | 1190 | folder of the |
1189 | <para>You can find more information on these scripts in the | 1191 | <link linkend='source-directory'>Source Directory</link>. |
1190 | "<link linkend='pushing-a-change-upstream'>Using | 1192 | For information on how to use these scripts, see the |
1191 | Scripts to Push a Change Upstream and Request a Pull</link>" section. | 1193 | "<link linkend='pushing-a-change-upstream'>Using Scripts to Push a Change Upstream and Request a Pull</link>" section. |
1192 | </para></listitem> | 1194 | </para></listitem> |
1193 | <listitem><para><emphasis>Patch Workflow:</emphasis> This workflow allows you to notify the | 1195 | <listitem><para><emphasis>Patch Workflow:</emphasis> This workflow allows you to notify the |
1194 | maintainer through an email that you have a change (or patch) you would like considered | 1196 | maintainer through an email that you have a change (or patch) you would like considered |
1195 | for the "master" branch of the Git repository. | 1197 | for the "master" branch of the Git repository. |
1196 | To send this type of change you format the patch and then send the email using the Git commands | 1198 | To send this type of change, you format the patch and then send the email using the Git commands |
1197 | <filename>git format-patch</filename> and <filename>git send-email</filename>. | 1199 | <filename>git format-patch</filename> and <filename>git send-email</filename>. |
1198 | You can find information on how to submit changes | 1200 | For information on how to use these scripts, see the |
1199 | later in this chapter.</para></listitem> | 1201 | "<link linkend='how-to-submit-a-change'>How to Submit a Change</link>" |
1202 | section. | ||
1203 | </para></listitem> | ||
1200 | </itemizedlist> | 1204 | </itemizedlist> |
1201 | </para> | 1205 | </para> |
1202 | </section> | 1206 | </section> |