Ядро Linux "исторический" репозиторий git с полной историей - PullRequest
43 голосов
/ 16 июля 2010

Я думаю, что многим разработчикам нравится исследовать источники с помощью git gui blame. Как объяснено в коммите для Linux-2.6.12-rc2 (также отраженном на Github ), для этого необходимо иметь специальный исторический репозиторий Linux.

Linux-2.6.12-RC2

Начальная сборка репозитория git. Я не беспокоюсь о полной истории, хотя у нас это есть. Мы можем создать отдельный «исторический» мерзавец архив этого позже, если мы хотим, и в то же время речь идет о 3.2GB при импорте в git - пространство, которое просто Git дни излишне сложные, когда у нас не так много хорошего инфраструктура для него.

Пусть это порвется!

Я просмотрел множество подготовленных исторических репозиториев, но не нашел ни одного, содержащего изменения, восходящие к нулевой версии, поэтому я сдался и задаю этот вопрос здесь.

Ответы [ 4 ]

50 голосов
/ 15 ноября 2011

Вот мои настройки.

У меня есть хранилище с клоном следующих пультов:

И следующие трансплантаты (info/grafts):

1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 e7e173af42dbf37b1d946f9ee00219cb3b2bea6a
7a2deb32924142696b8174cdf9b38cd72a11fc96 379a6be1eedb84ae0d476afbc4b4070383681178

С этими трансплантатами у меня естьнепрерывный просмотр истории ядра с 0.01.Первый трансплантат склеивает самый первый выпуск в хранилище Линуса с соответствующим выпуском tglx/history.git.Второй трансплантат склеивает tglx/history.git и davej/history.git.

. Отсутствует несколько более старых версий, а более старые версии имеют гранулярность выпуска вместо гранулярности патча, но это лучшая из известных мне настроек.


Редактировать: Дейв Джонс указал мне на http://www.archive.org/details/git-history-of-linux,, что, кажется, именно то, что вы хотите.

9 голосов
/ 17 августа 2018

Вот обзор доступных опций 2018 года с акцентом на наличие тегов и правильность даты.

https://archive.org/download/git-history-of-linux/full-history-linux.git.tar

Разработано Дейвом Джонсом и доступно на archive.org.

  • Относится к ранним версиям до 2010 года.
  • 244 464 коммитов
  • Всего 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.
  • Процесс создания задокументирован на GitHub и выглядит очень тщательно.

https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git/

Создано Томасом Глейкснером.

  • Охватывает 2.4.0 - 2.6.12-rc2.
  • Содержит 170 тегов, охватывающих 2.5.X и 2.6.X.
  • 63,428 коммитов
  • Даты верны.
  • Содержит патчи, преобразованные в коммиты.

https://github.com/mpe/linux-fullhistory

Создано Майклом Эллерманом, по мотивам работы Йоанна Падиоло, на основе исторических деревьев, реконструированных Дейвом Джонсом и Томасом Гляйкснером, и магистрального дерева Линуса.

  • Охватывает полную историю
  • Предоставляет только 558 тегов, в основном начиная с 2.0.0.
  • 790 471 коммитов
  • Те же проблемы с датами, что и в репо Дэйва Джонса.
  • Использует замену объектов вместо трансплантатов.

https://git.kernel.org/pub/scm/linux/kernel/git/history/history.git/

Принадлежит Linux history team .

  • Переносит ранние версии на 2.6.33-rc5.
  • 1710, начиная с 0.10, и охватывает большинство ранних версий.
  • 244 774 коммитов
  • Большинство исторических версий имеют неправильную дату Fri Nov 23 15:09:04 2007 -0500.

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/

Современная разработка Linux.

  • Обложки 2.6.12-RC2 (2005) до сегодняшнего дня
  • 569 тегов
  • 777 419 коммитов (август 2018)
  • Правильные коммиты
9 голосов
/ 23 декабря 2015

ссылки на репозитории больше не существуют. новый здесь: https://git.kernel.org/cgit/linux/kernel/git/history/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
5 голосов
/ 16 июля 2010

Лучшее, что я нашел, это git: //git.kernel.org/pub/scm/linux/kernel/git/davej/history.git. Отслеживание истории начинается с Linux-0.01, но многие комментарии плохие, что-то вроде "Import 2.1.38pre1".

В любом случае знаний много.

Спасибо за помощь!

...