There is mini-HOWTO for the Git repository configuration for the Linux kernel project to get its history contiguous from Linux 0.01 till these days.
The standard Linux kernel Git tree refers to its mother upstream via origin. We need to add two more remotes, id est history.git (history group) and history.git (Thomas Gleixner):
git remote add history https://git.kernel.org/pub/scm/linux/kernel/git/history/history.git git remote add tglxh https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.gitWith this being done, you already may access to the old stuff by tags. But Git history is abrupted as before, on v2.6.12-rc2:
$ git log --oneline v2.6.12-rc2 1da177e4c3f4 (tag: v2.6.12-rc2, replaced) Linux-2.6.12-rc2The trick is so called reference replacement (used to be a grafts file). We need to add two replacements to stitch these three trees:
origin, history, and tglxh together.
$ git replace -l --format long 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (commit) -> a3628e41a9946c4fe93d9b2ae5906e1b2184fa8e (commit) 7a2deb32924142696b8174cdf9b38cd72a11fc96 (commit) -> 3d1ac2f58324f59a7b56f067cfd2cb8cc3af0865 (commit)To achieve that run
$ git replace --graft 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 e7e173af42dbf37b1d946f9ee00219cb3b2bea6a $ git replace --graft 7a2deb32924142696b8174cdf9b38cd72a11fc96 379a6be1eedb84ae0d476afbc4b4070383681178Now, if you run
git log against v2.6.12-rc2, you will see the rest of the history:
$ git log --oneline v2.6.12-rc2 1da177e4c3f4 (tag: v2.6.12-rc2, replaced) Linux-2.6.12-rc2 e7e173af42db (tag: v2.6.12-rc2-pre, tglxh/master, tglxh/HEAD) Linux 2.6.12-rc2 607899e17218 [PATCH] x86_64: Fix segment constraints d21ca622e8b8 [PATCH] missing gameport dependencies 92bff94b41b2 [PATCH] missing include in lanai.c ... fa1ec1000cf9 (tag: 0.10) Linux 0.10 (November 11, 1991 ???) bb441db1a90a Linux-0.01 (September 17, 1991)Note, search in the Git history (via
git log) is obviously will work through the whole history now, and many other commands. Enjoy!









