git blame
1 2 3 4 5 6 7 8 9 10 11 12 |
$ git blame -L 814,+10 -- funcs.c 81f15c2b0 (Christos Zoulas 2020-12-08 21:26:00 +0000 814) file_pipe_closexec(int *fds) 81f15c2b0 (Christos Zoulas 2020-12-08 21:26:00 +0000 815) { 81f15c2b0 (Christos Zoulas 2020-12-08 21:26:00 +0000 816) #ifdef HAVE_PIPE2 81f15c2b0 (Christos Zoulas 2020-12-08 21:26:00 +0000 817) return pipe2(fds, O_CLOEXEC); 81f15c2b0 (Christos Zoulas 2020-12-08 21:26:00 +0000 818) #else 81f15c2b0 (Christos Zoulas 2020-12-08 21:26:00 +0000 819) if (pipe(fds) == -1) 81f15c2b0 (Christos Zoulas 2020-12-08 21:26:00 +0000 820) return -1; 81f15c2b0 (Christos Zoulas 2020-12-08 21:26:00 +0000 821) (void)fcntl(fds[0], F_SETFD, FD_CLOEXEC); 81f15c2b0 (Christos Zoulas 2020-12-08 21:26:00 +0000 822) (void)fcntl(fds[1], F_SETFD, FD_CLOEXEC); 81f15c2b0 (Christos Zoulas 2020-12-08 21:26:00 +0000 823) return 0; $ |
これは、funcs.cというファイルの814行目から10行の部分を変更したのは誰なのかを表示する。
git log -L
1 2 3 |
$ git --version git version 2.32.0 $ |
git log -Lを使うには1.8.4以上が必要らしい。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
$ git log -L 814,+10:funcs.c commit 81f15c2b0d6e9eaf524ff7bab37426c21af75fb7 Author: Christos Zoulas <christos@zoulas.com> Date: Tue Dec 8 21:26:00 2020 +0000 Fix close_on_exec multithreaded decompression issue. diff --git a/src/funcs.c b/src/funcs.c --- a/src/funcs.c +++ b/src/funcs.c @@ -787,0 +792,10 @@ +file_pipe_closexec(int *fds) +{ +#ifdef HAVE_PIPE2 + return pipe2(fds, O_CLOEXEC); +#else + if (pipe(fds) == -1) + return -1; + (void)fcntl(fds[0], F_SETFD, FD_CLOEXEC); + (void)fcntl(fds[1], F_SETFD, FD_CLOEXEC); + return 0; ... $ |
コミットメッセージも表示してくれる。
変更が81f15c2b0d6e9eaf524ff7bab37426c21af75fb7によることは分かったので、これと一個前との差分を見る。
差分
1 2 3 |
$ git diff 81f15~ 81f15 .... $ |
これでコミット全体の差分が見れた。
この差分をgithubで見るにはhttps://github.com/file/file/commit/81f15みたいなURLになる。
参考
https://stackoverflow.com/a/19757493 made by Matt McClure CC BY-SA 3.0