threads / discuss / 4141

how to display file history?

Subject: how to display file history?

## tl;dr

3 messages between May 15, 2006 and May 15, 2006.

replies: 2people: 3as markdown or json

Brown, Len· May 15, 2006, 05:52 UTC · lore

it is tiresome to access kernel.org/git tree display to see the list of commits that changed a particular file. (and for files on my local disk, this isn't available).

How do I print the list of commits that change a particular file on my local disk?

thanks,
-Len
 
Shawn Pearce· May 15, 2006, 06:00 UTC · re: Brown, Len · lore

Re: how to display file history?

"Brown, Len" <len.brown@intel.com> wrote:
Show 6 quoted lines
> it is tiresome to access kernel.org/git tree display
> to see the list of commits that changed a particular file.
> (and for files on my local disk, this isn't available).
> 
> How do I print the list of commits that change a particular file
> on my local disk?

I'm confused - why aren't these available on your local disk? Do you not have a clone of the kernel repository local? If you don't have a clone you aren't really going to be able to get a history.

But assuming you had one use whatchanged:
	git whatchanged A

will show only the commits which affected file A, listing them in reverse order (most recent to oldest).

-- 
Shawn.
Linus Torvalds· May 15, 2006, 15:15 UTC · re: Brown, Len · lore

Re: how to display file history?

On Mon, 15 May 2006, Brown, Len wrote:
Show 7 quoted lines
>
> it is tiresome to access kernel.org/git tree display
> to see the list of commits that changed a particular file.
> (and for files on my local disk, this isn't available).
> 
> How do I print the list of commits that change a particular file
> on my local disk?
Just do
	git whatchanged -p <file>

which has worked pretty much since day one. In fact, it's much better than that. The "file" can be any abritrary combination of files and/or directories, and it will track them all at the same time. So

	git whatchanged -p arch/ia64 include/asm-ia64
will track the ia64-specific changes.

Newer git versions (ie 1.3.x+) support this in "git log" too (it worked on older gits, but it was unacceptably slow, so you might as well consider it "nonworking"). So

	git log [-p] <filespec>
is your friend.
Finally, as usual, "gitk" is just a fancier log viewer. So just do
	gitk arch/ia64 include/asm-ia64
and enjoy.

You really shouldn't go to gitweb. The history view of gitweb is much less capable than any local view.

		Linus

← back to recent threads