Должен ли PackageStates.php находиться под контролем версий?

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

Это поднимает вопрос, должен ли файл фактически находиться под контролем версий?

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


person Der Hochstapler    schedule 16.07.2014    source источник


Ответы (2)


Вы можете включить PackageStates.php в свой контроль версий.

Вы также можете исключить его из управления версиями и автоматически сгенерировать в процессе развертывания. В typo3-console для этого есть команда:

typo3cms install:generatepackagestates

В более старых версиях TYPO3 ‹ 9 LTS у вас есть возможность устанавливать расширения на основе таких условий, как контекст, хост, система, которую вы можете использовать.

$GLOBALS['TYPO3_CONF_VARS']['EXT']['runtimeActivatedPackages'] = array('extension_builder','devlog');

в вашем AdditionalConfiguration.php.

Статья об этом тема на typo3blogger.de

person Daniel    schedule 16.07.2014
comment
Текущая второстепенная версия пытается смягчить проблему переупорядочивания, сохраняя более стабильное состояние сортировки. - person pgampe; 18.07.2014
comment
при этом я получаю пакет исключений, phpmyadmin уже зарегистрирован - нет записей phpmyadmin в PackageState или LocalConfiguration... Я очистил все кеши, переустановил phpmyadmin-ext. но всегда эта ошибка - person Tobias Gaertner; 23.02.2018
comment
Обновление: начиная с TYPO3 V9, и если вы используете композитор, вы должны исключить PackageStates.php из vc и сгенерировать его с помощью команды cli. - person Tobias Gaertner; 12.11.2019

Если у вас установлен композитор TYPO3, PackageStates.php генерируется автоматически при запуске установки композитора:

https://docs.typo3.org/p/helhum/typo3-console/6.5/en-us/CommandReference/InstallGeneratepackagestates.html

Создает и записывает typo3conf/PackageStates.php файл. Цель состоит в том, чтобы не иметь этот файл в системе контроля версий, а создать его при установке композитора.

person cweiske    schedule 28.05.2021
comment
Это также зависит от того, требуется ли hlhum/typo3-console и что находится в вашем composer.json, верно? например вы должны добавить install:generatepackagestates в post-dump-autoload. Возможно, вы захотите добавить фрагмент того, что находится в composer.json или в сценарии развертывания. - person Sybille Peters; 29.05.2021
comment
Этот постустановочный скрипт был установлен автоматически при новой установке композитора typo3 10.4. - person cweiske; 30.05.2021