summaryrefslogtreecommitdiffstats
path: root/documentation/kernel-dev
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/kernel-dev')
-rw-r--r--documentation/kernel-dev/kernel-dev-common.xml108
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>&lt;commit&gt;..&lt;commit&gt;</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 &lt;tag&gt;</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 &lt;tag&gt;</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<!--
672vim: expandtab tw=80 ts=4 780vim: expandtab tw=80 ts=4