[devel] perl.git
Alexey Tourbin
at на altlinux.ru
Ср Сен 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 и применить все имеющиеся
патчи уже к исходникам. Что тогда делать с архивом?
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 189 байтов
Описание: отсутствует
Url : http://lists.altlinux.org/pipermail/devel/attachments/20060913/e610ceb4/attachment-0001.bin
Подробная информация о списке рассылки Devel