Hacker News new | ask | show | jobs
Stripping kernel/uboot source to 10% for code reading (baohaojun.github.io)
35 points by baohaojun 4784 days ago
3 comments

> 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...

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
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
Good question! Since they have such a comprehensive archive I searched Debian, but it's not there.

http://packages.debian.org/search?searchon=contents&keyw...

Sorry, and you guessed right, `pn N` is just my shorthand wrapper for `awk '{print $N}'`.
> 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...

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).
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.
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 :)

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".

Impressive. I want to use DTrace on Linux. And it seems that in the meantime it is available on Linux http://liberumvir.com/2012/06/01/zfs-and-dtrace-running-on-u...
Cool thanks!

Edit: I'm listening to it now and it's excellent.