summaryrefslogtreecommitdiffstats
path: root/documentation/dev-manual/dev-manual-newbie.xml
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2013-04-09 15:02:09 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-04-10 16:20:56 +0100
commit6fedf7b147d2364741e258fbcaa2c48f0458a0ae (patch)
treef2cf94e506f8dee3744301bc4903acf94fc0ee3c /documentation/dev-manual/dev-manual-newbie.xml
parent78ec6f7c076e95448ca0f136031be2042f72a5b2 (diff)
downloadpoky-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.xml44
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>