今回は残課題②-2、The Linux Kernel ArchiveのGITサイトを調査します。


【関連記事】


【キーワード】
git
  • 2019/7/18
②The Linux Kernel Archive(本家)のトップページにあるHTTP、GIT、RSYNCの飛び先がどうなってるか?

【PC-Linuxビルド】(2019/07/07:ビルド前編)で私はこんなことを書いているが、ビルド中編でHTTPの下にあるカーネルソースしか見てない。
次はHTTP、GIT、RSYNCと書いてあるリンクを掘ってみたい。実はちょっと掘ってみたが、こんな感じのディレクトリ階層が見えたものの、どれを選べばよいのかイマイチわからない。次回この階層について調べていきます。
前回、【PC-Linuxビルド】(2019/07/14:残課題②-1 HTTP)でHTTPを調べたので、今回はGITを調べる。

開くとこんな感じ。/pub/scm/xxxという感じにカテゴライズされなってる。scmとはソフトウェア構成管理(software configuration management)の略ですね。前回調べたHTTPは数年前から更新が止まっており、GITがソフトウェア管理のリポジトリになってるみたい。
1

①全体像
HTTPには存在しないvirt(仮想化)とpublic-inbox(メーリングリスト)が気になる。
pub/scm/bluetooth
pub/scm/boot
pub/scm/devel
pub/scm/docs
pub/scm/editors
pub/scm/fs
pub/scm/git
pub/scm/java
pub/scm/libs
pub/scm/linux
pub/scm/network
pub/scm/public-inbox
pub/scm/utils
pub/scm/virt
ちなみにpublic-inboxとはメールをGIT管理するソフトウェアだそうだ。
https://public-inbox.org/ 
メーリングリスト管理ソフトウェア
ウェブページ、Atomフィード、NNTPで読むことができる
Git、Unicorn、kgioなんかのメーリングリストで使われている 
メールをGit管理している
OSS
AGPL
②コンポーネント毎の詳細
まず、/pub/scm/bluetoothにあるbluez.gitを見てみた。about, summary, refs, log, tree, commit, diff, stats, homepageのタブに分かれている。最初に表示されるのはsummaryタブ。
1

about

概要が書かれたタブ。ライセンサー、コンパイル&インストール方法、コンフィグ&オプションなどが書かれてる。
1

summary

branch, tag, age, cloneの4パートに分かれている。branchはgitのブランチ。bluezは1つだが複数あるものも多い。詳しくは3.1 Git のブランチ機能 - ブランチとはなどを参照。tagはgitのtag。目印みたいなもの。詳しくはgit tagの使い方まとめなどを参照。

2
3

ageはどのぐらい前にコミットされたのか。
4

cloneのアドレスを指定してgit cloneする。
5
refs

refsはbranchとtagの詳細。
1

log
logはageの詳細。
1

tree
コンポーネントのディレクトリ・ファイル構成。ls -lみたいな感じ。
1

ファイル毎のlogstatを見れる。plainを押すと行番号などの装飾がないプレーンテキストが見れる。
1

commit
コミットのログとdiffの内容が見れる。
2

diff
Diffstatとdiff詳細が見れる。
1


commitタブdiffタブの画面右端にあるdiff optioncontextを増やしていくと、diff行の前後の行数を指定できる。例えば3を指定するとトータル7行(前3+diff行+後3)の表示になる。spaceは空白を含む(include)、含まない(ignore)を指定できるようだがイマイチ効果が分からなかった。modeをunifiedにするとunfied形式でdiffが見れる。ssdiffにするとWinMergeみたいに左右のペインでコード比較。stat onlyはstatの情報のみ表示。
3
stats
週毎にどのautherが何回コミットしたのかのサマリーが見れる。競争心の強い人はこの数字を見て燃えてくるかもしれない。
1

homepage
コンポーネントのホームページがあれば表示されるみたい。
1


他のコンポーネントも似たようなものなので、詳細は割愛(強いて言えばvirtとpublic-inboxはHTTPに無かったのでいつか調べたい)。

次回は②-3でRSYNCを調べます。

続く

IMG_20190715_102354



詳解 Linuxカーネル 第3版
Daniel P. Bovet
オライリー・ジャパン
2007-02-26


組み込みLinuxシステム構築 第2版
Karim Yaghmour
オライリージャパン
2009-10-26


Linuxデバイスドライバ 第3版
Jonathan Corbet
オライリージャパン
2005-10-22



スポンサードリンク