«Локализатор исходного кода» предназначен для локализации программных продуктов путем изменения их исходных кодов без предварительной подготовки.
Программа может быть использована при разработке программного обеспечения на серверах сборки, для автоматической локализации исходного кода, но она может также применяться и на рабочих компьютерах пользователей для проверки орфографии в исходных кодах, текстовых файлах, буфере обмена и словарях переводов.
Специальная версия программы позволяет проводить обфускацию исходного кода.


 

суббота, 19 октября 2013 г.

Скачивание исходного кода 653 пакетов Gnome из git-репозитория

Для генерирования общего отчета по всем пакетам Gnome возникла необходимость их всех скачать. Каждый пакет представлен отдельным репозиторием, к которому необходимо обращаться отдельно.
Всего пакетов 653 (см. далее как удалось определить количество), соответственно надо обратиться к 653 репозиториям.

На странице https://git.gnome.org/browse/ представлен полный список пакетов с указанием разделов, к которым они относятся и описаний пакетов.

Скачать отдельный пакет можно командой:
"D:\Program Files\Git\bin\git" clone git://git.gnome.org/MODULE

где MODULE - название пакета.

Пример команды приведен для windows.

Проблема в том, что необходимо выполнить 653 команды с названиями пакетов.
Если хватит терпения скопировать 653 раза строку команды и 653 раза через буфер скопировать с сайта название модуля в эту строку, то можно дальше не читать... :)

Попробовав так сделать... я быстро понял, что это не решение... это отдельная проблема.

Далее привел мое решение генерирования списка команд для скачивания пакетов:

1) Копируем список с сайта в NotePad++.

Далее производим замену текста регулярными выражениями и обязательно указываем учитывание регистра в NotePad++.

2) Производим замену ^(\S+\s).*$ на $1 - удаляем все описания.

Получится список первых слов в предложениях, содержащих названия пакетов.



3) Производим замену ^[A-Z].*$ на "пусто" для удаления заголовков.

4) Производим замену \s+$ на "пусто" для удаления лишних пробелов и пустых строк (кроме первой).

Получилось 653 названия.

5) Заменяем ^(.+)$ на \"D:\\Program Files\\Git\\bin\\git\" clone git:\/\/git\.gnome\.org\/$1

Получаем полный список команд с пакетами.

6) В начало bat-файла добавил cd "i:\gnomegit" для указания каталога в который будут загружены пакеты, просто перестраховка.

В начало и конец bat-файла добавил time /t  , а также при запуске bat-файла указал вывод информации в файл -   1>log.txt
На экран будет выводится служебная информация о скорости скачивания, а общая информация будет передаваться в лог.

Возможно лучше будет разделить bat-файл на несколько для повышения скорости скачивания (см. далее).

Выводы после скачивания:

Средняя скорость скачивания: около 290КБ/с.
Время скачивания: примерно 9 часов.
Объем каталога со всеми пакетами после их скачивания: 12.6ГБ, 229217 файлов, 29761 каталог.

Статистика по каталогу содержит служебные каталоги .git и специальные файлы.

Скорость скачивания вероятно ограничена сервером на каждый пакет, так как при запуске одновременно нескольких скачиваний скорость каждого составляет примерно 290КБ/с, соответственно можно разделить bat-файл на части и запустить их одновременно, что в разы (по количеству bat-файлов) увеличит скорость.
Но, так как файлов большое количество, то это повысит и нагрузку на винчестер при одновременной записи большого количества файлов.
Скорость можно повысить за счет использование команд git ограничивающих количество ревизий для скачивания и пр.

Сгенерированные отчеты по данным пакетам опубликую поздней вместе с информацией по другим открытым система. 

Комментариев нет:

Отправить комментарий