diff options
-rw-r--r-- | documentation/kernel-dev/kernel-dev-common.xml | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/documentation/kernel-dev/kernel-dev-common.xml b/documentation/kernel-dev/kernel-dev-common.xml index f6c027e7c5..235bc41525 100644 --- a/documentation/kernel-dev/kernel-dev-common.xml +++ b/documentation/kernel-dev/kernel-dev-common.xml | |||
@@ -667,6 +667,114 @@ | |||
667 | to include in the image. | 667 | to include in the image. |
668 | </para> | 668 | </para> |
669 | </section> | 669 | </section> |
670 | |||
671 | <section id='inspecting-changes-and-commits'> | ||
672 | <title>Inspecting Changes and Commits</title> | ||
673 | |||
674 | <para> | ||
675 | A common question when working with a kernel is: | ||
676 | "What changes have been applied to this tree?" | ||
677 | Rather than using "grep" across directories to see what has | ||
678 | changed, you can use Git to inspect or search the kernel tree. | ||
679 | Using Git is an efficent way to see what has changed in the tree. | ||
680 | </para> | ||
681 | |||
682 | <section id='what-changed-in-a-kernel'> | ||
683 | <title>What Changed in a Kernel?</title> | ||
684 | |||
685 | <para> | ||
686 | Following are a few examples that show how to use Git | ||
687 | commands to examine changes. | ||
688 | These examples are by no means the only way to see changes. | ||
689 | <note> | ||
690 | In the following examples, unless you provide a commit | ||
691 | range, <filename>kernel.org</filename> history is blended | ||
692 | with Yocto Project kernel changes. | ||
693 | You can form ranges by using branch names from the | ||
694 | kernel tree as the upper and lower commit markers with | ||
695 | the Git commands. | ||
696 | You can see the branch names through the web interface | ||
697 | to the Yocto Project source repositories at | ||
698 | <ulink url='http://git.yoctoproject.org/cgit.cgi'></ulink>. | ||
699 | </note> | ||
700 | To see a full range of the changes, use the | ||
701 | <filename>git whatchanged</filename> command and specify a | ||
702 | commit range for the branch | ||
703 | (<filename><commit>..<commit></filename>). | ||
704 | </para> | ||
705 | |||
706 | <para> | ||
707 | Here is an example that looks at what has changed in the | ||
708 | <filename>emenlow</filename> branch of the | ||
709 | <filename>linux-yocto-3.4</filename> kernel. | ||
710 | The lower commit range is the commit associated with the | ||
711 | <filename>standard/base</filename> branch, while | ||
712 | the upper commit range is the commit associated with the | ||
713 | <filename>standard/emenlow</filename> branch. | ||
714 | <literallayout class='monospaced'> | ||
715 | $ git whatchanged origin/standard/base..origin/standard/emenlow | ||
716 | </literallayout> | ||
717 | </para> | ||
718 | |||
719 | <para> | ||
720 | To see short, oneline summaries of changes use the | ||
721 | <filename>git log</filename> command: | ||
722 | <literallayout class='monospaced'> | ||
723 | $ git log --oneline origin/standard/base..origin/standard/emenlow | ||
724 | </literallayout> | ||
725 | </para> | ||
726 | |||
727 | <para> | ||
728 | Use this command to see code differences for the changes: | ||
729 | <literallayout class='monospaced'> | ||
730 | $ git diff origin/standard/base..origin/standard/emenlow | ||
731 | </literallayout> | ||
732 | </para> | ||
733 | |||
734 | <para> | ||
735 | Use this command to see the commit log messages and the | ||
736 | text differences: | ||
737 | <literallayout class='monospaced'> | ||
738 | $ git show origin/standard/base..origin/standard/emenlow | ||
739 | </literallayout> | ||
740 | </para> | ||
741 | |||
742 | <para> | ||
743 | Use this command to create individual patches for | ||
744 | each change. | ||
745 | Here is an example that that creates patch files for each | ||
746 | commit and places them in your <filename>Documents</filename> | ||
747 | directory: | ||
748 | <literallayout class='monospaced'> | ||
749 | $ git format-patch -o $HOME/Documents origin/standard/base..origin/standard/emenlow | ||
750 | </literallayout> | ||
751 | </para> | ||
752 | </section> | ||
753 | |||
754 | <section id='showing-a-particular-feature-or-branch-change'> | ||
755 | <title>Showing a Particular Feature or Branch Change</title> | ||
756 | |||
757 | <para> | ||
758 | Tags in the Yocto Project kernel tree divide changes for | ||
759 | significant features or branches. | ||
760 | The <filename>git show <tag></filename> command shows | ||
761 | changes based on a tag. | ||
762 | Here is an example that shows <filename>systemtap</filename> | ||
763 | changes: | ||
764 | <literallayout class='monospaced'> | ||
765 | $ git show systemtap | ||
766 | </literallayout> | ||
767 | You can use the | ||
768 | <filename>git branch --contains <tag></filename> command | ||
769 | to show the branches that contain a particular feature. | ||
770 | This command shows the branches that contain the | ||
771 | <filename>systemtap</filename> feature: | ||
772 | <literallayout class='monospaced'> | ||
773 | $ git branch --contains systemtap | ||
774 | </literallayout> | ||
775 | </para> | ||
776 | </section> | ||
777 | </section> | ||
670 | </chapter> | 778 | </chapter> |
671 | <!-- | 779 | <!-- |
672 | vim: expandtab tw=80 ts=4 | 780 | vim: expandtab tw=80 ts=4 |