diff options
Diffstat (limited to 'documentation/dev-manual/dev-manual-newbie.xml')
-rw-r--r-- | documentation/dev-manual/dev-manual-newbie.xml | 36 |
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. |