[devel] perl.git

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Ср Сен 13 21:04:52 MSD 2006


On Wed, Sep 13, 2006 at 08:37:52PM +0400, Dmitry V. Levin wrote:
> В начале августа я рассказал о том, что с расширением серверных мощностей
> стало возможным опубликовать (rsync.altlinux.org::archive) и поддерживать
> архив Сизифа, накопленный с 14 ноября 2003 года.
> С введением в строй git.altlinux из этого архива можно извлечь ещё
> один вид пользы.  А именно, если архив проиндексирован попакетно, то
> (с помощью утилиты gear-srpmimport) можно импортировать исходные пакеты
> с сохранением всей доступной истории.
> Я поступил таким образом со всеми своими пакетами, которые не хранил в
> cvs, и результат мне показался удачным.
> 
> Всего в этом архиве около 7000 имён исходных пакетов общим объёмом
> около 62Gb.  Весь этот архив можно импортировать в git-репозитории
> описанным выше способом, однако есть несколько препятствий:
> - С каждым обновлением Сизифа архив пополняется новыми пакетами; это
> значит, что одноразовый импорт не решает задачу полностью.
> - Объём архива настолько велик, что процесс импортирования займёт больше
> времени, чем обычно проходит между обновлениями Сизифа.
> - Некоторые пакеты переименовывались, и было бы хорошо отследить такие
> переименования для того, чтобы при импорте не потерять историю в момент
> переименования.  К сожалению, алгоритма выявления переименований у
> меня нет.
> - Были в истории Сизифа случаи, когда совершенно разные пакеты в разное
> время назывались одинаково, один такой пример (git) я уже приводил.
> Как обнаруживать такие коллизии автоматически, я тоже не знаю.
> 
> Несмотря на все эти вопросы, в каждом конкретном случае импорт пакета
> из архива Сизифа в git-репозиторий это вполне решаемая (как правило,
> легко решаемая) задача.

По части перла я вот что хочу сделать.  Я написал скрипт, который
импортирует все апстримовские патчи, начиная с perl-5.8.0.  То есть не
просто perl-5.8.[012345678], а все промежуточные изменения.  То есть это
что-то вроде импорта из p4 (p4 -- это такая гадость, которая
используется в качестве scm у перла; она ещё называется perforce).

Патчи относительно perl-5.8.0 вплоть до текущего состояния perl-5.8.8+
лежат на rsync://public.activestate.com/perl-5.8.x-diffs/

На всякий случай прилагаю скрипт, который их имортирует.
Этот скрипт делает бранч perl-5.8, в котором я потом расставлю таги
perl-5.8.[012345678].  Скрипт работает хорошо, но пришлось решить две
проблемы: 1) \r\n -> \n; 2) поправить в одном месте дефектный патч (см.
my.gz).  Это /home/at/perl-5.8.x-diffs/18673.gz, там остсутствует
файл CPAN/ChangeLog с пометкой "(binary)", я взял этот файл и тарболла
CPAN-1.64.tar.gz.  Сейчас на выходе дерево исходников после применения
всех патчей совпадает с текущим деревом исходников perl-5.8.8+,
полученным иным (непосредственным) способом.

Соответственно дело в том, что git-srpmimport сюда как бы не
вписывается.  Импортировать тарболлы и патчи смысла нет, потому что
я собираюсь отбранчить master от perl-5.8 и применить все имеющиеся
патчи уже к исходникам.  Что тогда делать с архивом?
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20060913/e610ceb4/attachment-0001.bin>


Подробная информация о списке рассылки Devel