summaryrefslogtreecommitdiffstats
path: root/documentation/dev-manual/dev-manual-newbie.xml
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/dev-manual/dev-manual-newbie.xml')
-rw-r--r--documentation/dev-manual/dev-manual-newbie.xml36
1 files changed, 20 insertions, 16 deletions
diff --git a/documentation/dev-manual/dev-manual-newbie.xml b/documentation/dev-manual/dev-manual-newbie.xml
index fbd12946e1..f1557aa396 100644
--- a/documentation/dev-manual/dev-manual-newbie.xml
+++ b/documentation/dev-manual/dev-manual-newbie.xml
@@ -344,27 +344,30 @@
344 </para> 344 </para>
345 345
346 <para> 346 <para>
347 A master Git repository exists that contains the project. 347 The Yocto Project files are maintained using Git in a "master" branch whose Git history
348 Usually a key individual is responsible for this repository. 348 tracks every change and whose structure provides branches for all diverging functionality.
349 It is the “upstream” repository where the final builds of the project occur. 349 This is typical for open-source projects, although Git does not have to be used.
350 For the Yocto Project a key individual is responsible for "master".
351 The "master" branch is the “upstream” repository where the final builds of the project occur.
350 The maintainer is responsible for allowing changes in from other developers and for 352 The maintainer is responsible for allowing changes in from other developers and for
351 organizing the branch structure of the repository to reflect release strategies and so forth. 353 organizing the underlying branch structure to reflect release strategies and so forth.
352 </para> 354 </para>
353 355
354 <para> 356 <para>
355 The maintainer of the project also owns a contribution repository usually known as a “contrib” area. 357 The maintainer of the project also owns a contribution repository usually known as a “contrib” area.
356 The contrib area temporarily holds changes to the project that have been submitted or committed 358 The contrib area temporarily holds changes to the project that have been submitted or committed
357 by the development team. 359 by the Yocto Project development team and by community members that contribute to the project.
358 The maintainer determines if the changes are qualified to be moved into the master repository. 360 The maintainer determines if the changes are qualified to be moved into the "master" branch
361 of the Git repository.
359 </para> 362 </para>
360 363
361 <para> 364 <para>
362 Developers create and maintain cloned repositories of the upstream master repository. 365 Developers (including contributing community members) create and maintain cloned repositories
366 of the upstream "master" branch.
363 These repositories are local to their development platforms and are used to develop changes. 367 These repositories are local to their development platforms and are used to develop changes.
364 When a developer is satisfied with a particular feature or change they “push” the changes 368 When a developer is satisfied with a particular feature or change they “push” the changes
365 up to the contrib repository. 369 up to the "contrib" repository.
366 Developers are responsible for keeping their local repository up-to-date with the master 370 Developers are responsible for keeping their local repository up-to-date with "master".
367 repository.
368 They are also responsible for straightening out any conflicts that might arise within files 371 They are also responsible for straightening out any conflicts that might arise within files
369 that are being worked on simultaneously by more than one person. 372 that are being worked on simultaneously by more than one person.
370 All this work is done locally on the developer’s machine before anything is pushed upstream 373 All this work is done locally on the developer’s machine before anything is pushed upstream
@@ -373,13 +376,13 @@
373 376
374 <para> 377 <para>
375 A somewhat formal method exists by which developers commit changes and push them into the 378 A somewhat formal method exists by which developers commit changes and push them into the
376 contrib area and subsequently request that the maintainer include them into the master repository. 379 "contrib" area and subsequently request that the maintainer include them into "master"
377 This process is called “submitting a patch” or “submitting a change.” 380 This process is called “submitting a patch” or “submitting a change.”
378 </para> 381 </para>
379 382
380 <para> 383 <para>
381 To summarize the environment: we have a single point of entry for changes into the project’s 384 To summarize the environment: we have a single point of entry for changes into the project’s
382 master repository, which is controlled by the project’s maintainer. 385 "master" branch of the Git repository, which is controlled by the project’s maintainer.
383 And, we have a set of developers who independently develop, test, and submit changes 386 And, we have a set of developers who independently develop, test, and submit changes
384 upstream for the maintainer to examine. 387 upstream for the maintainer to examine.
385 The maintainer then chooses which changes are going to become permanently a part of the project. 388 The maintainer then chooses which changes are going to become permanently a part of the project.
@@ -406,12 +409,13 @@
406 It is helpful to give them names associated with the particular feature or change 409 It is helpful to give them names associated with the particular feature or change
407 on which you are working. 410 on which you are working.
408 Once you are done with a feature or change you simply discard the branch.</para></listitem> 411 Once you are done with a feature or change you simply discard the branch.</para></listitem>
409 <listitem><para><emphasis>Merge Changes</emphasis> - The Git merge command allows you to take the 412 <listitem><para><emphasis>Merge Changes</emphasis> - The <filename>git merge</filename>
413 command allows you to take the
410 changes from one branch and fold them into another branch. 414 changes from one branch and fold them into another branch.
411 This process is especially helpful when more than a single developer might be working 415 This process is especially helpful when more than a single developer might be working
412 on different parts of the same feature. 416 on different parts of the same feature.
413 Merging changes also automatically identifies any collisions or “conflicts” 417 Merging changes also automatically identifies any collisions or “conflicts”
414 that might happen resulting from the same lines of code be altered by two different 418 that might happen resulting from the same lines of code being altered by two different
415 developers.</para></listitem> 419 developers.</para></listitem>
416 <listitem><para><emphasis>Manage Branches</emphasis> - Because branches are easy to use, you should 420 <listitem><para><emphasis>Manage Branches</emphasis> - Because branches are easy to use, you should
417 use a system where branches indicate varying levels of code readiness. 421 use a system where branches indicate varying levels of code readiness.
@@ -429,7 +433,7 @@
429 on which to develop.</para></listitem> 433 on which to develop.</para></listitem>
430 <listitem><para><emphasis>Patch Workflow</emphasis> - This workflow allows you to notify the 434 <listitem><para><emphasis>Patch Workflow</emphasis> - This workflow allows you to notify the
431 maintainer through an email that you have a change (or patch) you would like considered 435 maintainer through an email that you have a change (or patch) you would like considered
432 for the master repository. 436 for the "master" branch of the Git repository.
433 To send this type of change you format the patch and then send the email using the Git commands 437 To send this type of change you format the patch and then send the email using the Git commands
434 <filename>git format-patch</filename> and <filename>git send-email</filename>. 438 <filename>git format-patch</filename> and <filename>git send-email</filename>.
435 You can find information on how to submit later in this chapter.</para></listitem> 439 You can find information on how to submit later in this chapter.</para></listitem>
@@ -441,7 +445,7 @@
441 <title>Tracking Bugs</title> 445 <title>Tracking Bugs</title>
442 446
443 <para> 447 <para>
444 The Yocto Project uses Bugzilla to track bugs. 448 The Yocto Project uses <ulink url='http://www.bugzilla.org/about/'>Bugzilla</ulink> to track bugs.
445 This bug-tracking application works well for group development because it tracks bugs and code 449 This bug-tracking application works well for group development because it tracks bugs and code
446 changes, can be used to communicate changes and problems with developers, can be used to 450 changes, can be used to communicate changes and problems with developers, can be used to
447 submit and review patches, and can be used to manage quality assurance. 451 submit and review patches, and can be used to manage quality assurance.