Как вы читаете журналы изменений CPAN? - PullRequest
5 голосов
/ 24 сентября 2010

С момента открытия perlbrew я счастливый пользователь CPAN.Но я никогда не понимал, как читать журналы изменений модулей.Например, глядя на устаревшие с «r» в оболочке CPAN, я хотел бы легко проверить журнал изменений, чтобы решить, обновлять его или нет.

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

Я использую старую оболочку CPAN.Если CPANPLUS или cpanminus поддерживают это, я бы подумал о переключении.

Ответы [ 2 ]

6 голосов
/ 24 сентября 2010

Я просто смотрю на CPAN Search . Главная страница каждого дистрибутива содержит ссылки на основные файлы, и вы также можете просмотреть весь дистрибутив. Вам не нужно скачивать или распаковывать дистрибутив.

Вы также можете использовать ключ -C команды cpan, чтобы вам не нужно было входить в оболочку CPAN.pm:

 $ cpan -C Some::Module

Я не знаю ничего, что покажет вам файл Changes сразу для всех устаревших модулей. Это, вероятно, будет немного беспорядок в терминале. Вы можете установить что-то с ключом -O:

 $ cpan -O | perl -anle 'print $F[0] if $. > 9' | xargs cpan -C

Это бит $. > 9, чтобы пропустить вывод CPAN.pm и заголовок таблицы. Это безобразно точно.

Если вы хотите сделать что-то более причудливое, вы можете сделать из этой последней части конвейера какой-нибудь скрипт для отдельного запуска cpan -C и сохранить результат в файл. Поместите все файлы в каталог изменений и Боб твой дядя. Это намного больше работы, чем я хочу сделать. Я просто обновляю вещи и смотрю на Изменения позже, если что-то сломается.

3 голосов
/ 24 сентября 2010

cpan-outdated почти из коробки делает то, что вам нужно:

$ cpan-outdated --compare-changes

Выше выдает разницу между всеми вашими Changes файлами и последними из CPAN для каждого имеющегося у вас устаревшего модуля.Однако это может быть немного длинным и грязным, если у вас много устаревших модулей!

К счастью, для добавления этих параметров потребовалось всего несколько изменений:

$ cpan-outdated --pkg Catalyst::View::TT --compare-changes

$ cpan-outdated --filter-pkg Catalyst --compare-changes

Мое обновление можно найти на Github здесь: http://github.com/draegtun/cpan-outdated. Вот разница мои изменения на токухиром cpан устаревшие

/ I3az /

...