Linux Kernel Architecture

(Jacob Rumans) #1
Mauerer runapp02.tex V2 - 09/04/2008 6:09pm Page 1167

Appendix B: Working with the Source Code


Fix spurious invocations of the watchdog reset handler.

Signed-off-by: Brice Goglin <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>

commit e454358ace657af953b5b289f49cf733973f41e4
tree 62ab274bead7523e8402e7ee9d15a55e10a0914a
parent 817acf5ebd9ea21f134fc90064b0f6686c5b169d
author Brice Goglin <[email protected]> Sun, 30 Jul 2006 00:14:09 -0400
committer Jeff Garzik <[email protected]> Thu, 03 Aug 2006 17:31:10 -0400

[PATCH] myri10ge - Write the firmware in 256-bytes chunks

When writing the firmware to the NIC, the FIFO is 256-bytes long,
so we use 256-bytes chunks and a read to wait until the previous
write is done.

Signed-off-by: Brice Goglin <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
...

Tracking the Development History of a Single File


Thegit logcommand also enables the development history of a specific file to be tracked across several
commits. It is invoked with a filename as its argument (if the filename is omitted, the development history
of the entire project is displayed). Instead of using the text listing, it is much more convenient, however,
to observe the history in a graphical front end. Figure B-6 shows the screen display generated by QGit, a
QT-based graphical to git.

It is also possible to inspect all changes that were introduced with a specific commit, as illustrated in
Figure B-7. This includes the affected files on the right, a description of the patch in the center, and the
patch itself below that.

Thegit fetchcommand transfers changes made in the parent repository to the local repository. It also
enables changes in other repositories to be transferred provided they originate from the same parent
repository as the local repository.

Developers with a particular interest in the progress of a specific part of the kernel for which development
is performed in an own git repository can integrate all changes that have not found their way into the
Torvalds sources in their local repository. For example:

wolfgang@meitner>git fetch git://foobar.frobnicate.org/exult.git
The main repository that serves as a template for the local clone is used ifgit fetchis invoked without
a repository name.

IncorporatingModifications


This section briefly describes a few other commands that are needed to make modifications to reposi-
tories. Before you make any changes, you should create a copy of the local repository for subsequent
synchronization with the upstream sources. Because git is able to use hard links to copy repositories
(providing that the copy and the original are located on the same filesystem), not much space or time is
needed to generate a development copy of a repository. Changes made to the copy are not transferred
automatically to the original unless explicitly initiated.
Free download pdf