Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux内核;“历史的”;具有完整历史记录的git存储库_Linux_Git_Linux Kernel_Kernel - Fatal编程技术网

Linux内核;“历史的”;具有完整历史记录的git存储库

Linux内核;“历史的”;具有完整历史记录的git存储库,linux,git,linux-kernel,kernel,Linux,Git,Linux Kernel,Kernel,我认为许多开发人员喜欢借助于gitgui来调查源代码。正如(还有)中所解释的,为此需要有专门的历史Linux存储库 Linux-2.6.12-rc2 初始git存储库构建。我不在乎全部的历史, 即使我们有。我们可以创建一个单独的“历史”git 如果我们想的话,以后再存档,同时 3.2GB导入git-space时,只会使 git的日子不必要的复杂,当我们没有很多好东西的时候 it基础设施 让它撕裂 我已经看过很多准备好的历史存储库,但是我没有找到一个包含返回到版本0的更改,所以我放弃了,在这里问这

我认为许多开发人员喜欢借助于
gitgui
来调查源代码。正如(还有)中所解释的,为此需要有专门的历史Linux存储库

Linux-2.6.12-rc2 初始git存储库构建。我不在乎全部的历史, 即使我们有。我们可以创建一个单独的“历史”git 如果我们想的话,以后再存档,同时 3.2GB导入git-space时,只会使 git的日子不必要的复杂,当我们没有很多好东西的时候 it基础设施

让它撕裂


我已经看过很多准备好的历史存储库,但是我没有找到一个包含返回到版本0的更改,所以我放弃了,在这里问这个问题。

我发现最好的是。那里的历史跟踪从Linux-0.01开始,但很多评论都很差,比如“Import 2.1.38pre1”

无论如何,这里有很多知识

谢谢你的帮助

这是我的设置

我有一个存储库,其中包含以下远程设备的克隆:

以及以下移植物(
info/grafts
):

通过这些移植,我对0.01以来的内核历史有了一个完整的看法。第一次移植将Linus存储库中的第一个版本与相应的
tglx/history.git
版本粘合在一起。第二个移植物粘在一起
tglx/history.git
davej/history.git

缺少一些旧版本,旧版本具有发布粒度而不是补丁粒度,但这是我所知道的最好的设置



编辑:戴夫·琼斯指给我看,这似乎正是你想要的。

参考回购协议已不存在。新的在这里:

如果你像我一样,想保留一些回购协议,你可以利用替代品和嫁接来实现:

# Same dir as main linux
$ git clone --bare git://git.kernel.org/pub/scm/linux/kernel/git/history/history.git
$ cd linux/.git/
$ echo ../../../history.git/objects >> objects/info/alternates
$ echo 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 e7e173af42dbf37b1d946f9ee00219cb3b2bea6a >> info/grafts
$ echo 7a2deb32924142696b8174cdf9b38cd72a11fc96 379a6be1eedb84ae0d476afbc4b4070383681178 >> info/grafts

以下是对2018年可用选项的回顾,重点是标签可用性和日期正确性

由Dave Jones开发,并在
archive.org
上提供

  • 涵盖到2010年的早期版本
  • 244464次提交
  • 只有184个标签,涵盖了2.6版本。标签好像不见了
  • 早期提交具有实际日期,但时间不正确(
    11:00:00 199X-0600
  • 有些日期似乎不正确。例如,
    2.1.110
    2.1.111
    的日期都是
    Wed May 20 11:00:00 1998-0600
    ,尽管
    2.1.111
    快照中的最新文件的日期是
    1998-07-25 09:17
  • 创作过程是而且似乎是非常彻底的
由托马斯·格雷克斯纳创作

  • 涵盖2.4.0至2.6.12-rc2
  • 包含170个标签,涵盖2.5.X和2.6.X
  • 63428提交
  • 日期是正确的
  • 包含转换为提交的修补程序
由迈克尔·埃勒曼(Michael Ellerman)创作,源于约安·帕迪奥(Yoann Padioleau)的作品,基于戴夫·琼斯(Dave Jones)和托马斯·格雷克斯纳(Thomas Gleixner)重建的历史树木,以及利纳斯(Linus)的主线树

  • 涵盖全部历史
  • 仅提供558个标记,大部分从2.0.0开始
  • 790471提交
  • 与Dave Jones回购协议中的日期相同
  • 使用替换对象而不是嫁接
由Linux历史团队拥有

  • 涵盖2.6.33-rc5的早期版本
  • 1710个标签,从0.10开始,涵盖了大多数早期版本
  • 244774
  • 大多数历史版本的日期不正确
    2007年11月23日星期五15:09:04-0500
现代Linux开发

  • 涵盖2.6.12-rc2(2005)直到今天
  • 569标签
  • 777419承诺(2018年8月)
  • 正当承诺

请注意,由于kernel.org几个月前遭到破坏,所有存储库都从git.kernel.org中删除
torvalds/linux.git
stable/linux-stable.git
tglx/history.git
已经返回
davej/history.git
仍然丢失。我已将
davej/history.git
存储库的副本上载到感谢镜像!我在github上做了额外的镜像,以防万一
# Same dir as main linux
$ git clone --bare git://git.kernel.org/pub/scm/linux/kernel/git/history/history.git
$ cd linux/.git/
$ echo ../../../history.git/objects >> objects/info/alternates
$ echo 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 e7e173af42dbf37b1d946f9ee00219cb3b2bea6a >> info/grafts
$ echo 7a2deb32924142696b8174cdf9b38cd72a11fc96 379a6be1eedb84ae0d476afbc4b4070383681178 >> info/grafts