

Stripping kernel/uboot source to 10% for code reading - baohaojun
http://baohaojun.github.io/blog/2013/05/08/stripping-kernel-code-for-reading.html

======
unoti
> git ls-tree HEAD -r |pn 4|xargs touch

What's pn? I've never heard of it, I don't have it, and simple searches don't
tell me anything about it. It looks like it might be a simple replacement for
awk argument parsing, but I'm unsure...

~~~
emidln
I think it's along the lines of::

    
    
        cut -d' ' -F 4
    

That said, I'd probably try this:

    
    
        git ls-tree HEAD -r | sed 's/[[:space:]]\+/ /g' | cut -d' ' -f 4
    

Edit: Apparently there is a shorter way of that sed sequence, which brings us
to:

    
    
        git ls-tree HEAD -r | tr -s ' ' | cut -d' ' -f 4

~~~
baohaojun
Yes, there is more than one way to do it:-) Had I read the git ls-tree manpage
more patiently, I should have wrote:

    
    
        git ls-tree HEAD -r --name-only

------
adamtj
> touch all source code files (this step is mandatory, or else the atime won't
> update correctly, I don't know why, but guess it's an optimization).

On a filesystem mounted with the "relatime" option, it's necessary to touch
each file so that the next access is guaranteed to bump the atime.

It used to be common to update the access time every time a file was accessed.
That turned every read into a read+write, which is expensive. Linux
filesystems are now commonly mounted with either the "relatime" or "noatime"
options. "noatime" does what you'd expect. "relatime" is a compromise. It
updates the atime on access only if it's the same as the mtime -- in other
words, only once after a write. I think some mail or news readers consider a
message to be read only if atime > mtime. They won't work right with
"noatime".

[http://serverfault.com/questions/47466/drawbacks-of-
mounting...](http://serverfault.com/questions/47466/drawbacks-of-mounting-a-
filesystem-with-noatime)

~~~
baohaojun
Thanks for the info, it must be the relatime that I saw this behavior. Were it
noatime, this idea won't have worked at all (I think I have seen noatime used
on embedded devices).

------
csmatt
I do love me some strace. It's one of those commands I talk about when asked
why I prefer Linux as a developer/hacker.

~~~
chubot
Do you mean you prefer Linux over Windows?

If so, then watch this talk: <http://www.youtube.com/watch?v=TgmA48fILq8>

Now you will prefer Solaris/BSD to Linux :)

~~~
jholman
That was a great talk, too great for just an upvote. Thanks!

To others considering watching it, the speaker is willing to indulge himself
in a bit of self-absorbed wankery, but he gets most of that out of the way in
the first 10 minutes, and gets down to the useful business of "here's an
example problem, and here's a solution".

