Closed luckyraul closed 8 years ago
You probably have a .gitignore
file in whatever repository you are using for the core. Every file in the core package is assumed to be good for removal, there is no checking of files.
There is not really a way around this without keeping track of all files which are installed.
So it's removing the .gitignore
file because it exists in the core package, then it's trying to update the .gitignore
file which does not exist any more.
there is no .gitignore in core package
https://github.com/bragento/magento-core/tree/1.9.2.1 https://github.com/bragento/magento-core/tree/1.9.2.2
Hmm, weird, could you paste your config please?
"require": {
"magento/core": "~1.9",
"mygento/base": "*",
"aoepeople/aoe_scheduler": "*",
"aydin-hassan/magento-core-composer-installer": "^1.3"
},
"extra": {
"magento-force": true,
"magento-root-dir": "public/modules"
},
Thanks, I will try to take a look later today
I tried this out with your example composer.json
and it worked fine for me, there must be something else which is removing your .gitignore
file. If you could reduce this to a test case I can take a further look, but I suspect there is something else having an effect here.
Yes, there was a bunch of private modules. I checked them all for .gitignore. Can it be auto-generated one by composer installer?
I'm pretty sure the composer installer doesn't remove the gitignore, I use that functionality on all our projects and haven't noticed the issue :/
The issue was during creating/updating file. It's strange problem however I am going to close this issue since I can't reproduce it once again.
composer update
[ErrorException]
file_put_contents(public/modules/.gitignore): failed to open stream: No such file or directory
Exception trace: () at /Volumes/Data/GIT/projects/jekyll/vendor/aydin-hassan/magento-core-composer-installer/src/GitIgnore.php:116 Composer\Util\ErrorHandler::handle() at n/a:n/a file_put_contents() at /Volumes/Data/GIT/projects/jekyll/vendor/aydin-hassan/magento-core-composer-installer/src/GitIgnore.php:116 AydinHassan\MagentoCoreComposerInstaller\GitIgnore->__destruct() at /Volumes/Data/GIT/projects/jekyll/vendor/aydin-hassan/magento-core-composer-installer/src/CoreManager.php:222 AydinHassan\MagentoCoreComposerInstaller\CoreManager->uninstallCore() at /Volumes/Data/GIT/projects/jekyll/vendor/aydin-hassan/magento-core-composer-installer/src/CoreManager.php:222 AydinHassan\MagentoCoreComposerInstaller\CoreManager->uninstallCore() at n/a:n/a call_user_func() at phar:///usr/local/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:152 Composer\EventDispatcher\EventDispatcher->doDispatch() at phar:///usr/local/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:112 Composer\EventDispatcher\EventDispatcher->dispatchPackageEvent() at phar:///usr/local/bin/composer/src/Composer/Installer.php:588 Composer\Installer->doInstall() at phar:///usr/local/bin/composer/src/Composer/Installer.php:233 Composer\Installer->run() at phar:///usr/local/bin/composer/src/Composer/Command/UpdateCommand.php:143 Composer\Command\UpdateCommand->execute() at phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:257 Symfony\Component\Console\Command\Command->run() at phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:874 Symfony\Component\Console\Application->doRunCommand() at phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:195 Symfony\Component\Console\Application->doRun() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:147 Composer\Console\Application->doRun() at phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:126 Symfony\Component\Console\Application->run() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:82 Composer\Console\Application->run() at phar:///usr/local/bin/composer/bin/composer:43 require() at /usr/local/bin/composer:25
Is the modules folder still present? file_put_contents doesn't need the file to be present. Can you try running composer update with -vvv?
Nope, it's deleted by jekyll on every publish. Previous log was with verbose option
You will have to provide an example repository with the issue bevause I can't reproduce it, if you can do that I wil debug it and get a fix in place (if there is a bug)
There is few private repositories inside so you can't debug it.
installed files.json
[
{
"packageName": "aoepeople\/aoe_scheduler",
"version": "1.2.2.0-2e80e39c01a8311a48a1a8909d0d820176b9d813",
"installedFiles": [
"\/app\/code\/community\/Aoe\/Scheduler",
"\/app\/etc\/modules\/Aoe_Scheduler.xml",
"\/shell\/scheduler.php",
"\/app\/locale\/sv_SE\/Aoe_Scheduler.csv",
"\/app\/locale\/de_DE\/Aoe_Scheduler.csv",
"\/app\/locale\/en_US\/template\/email\/aoe_scheduler",
"\/app\/design\/adminhtml\/default\/default\/template\/aoe_scheduler",
"\/app\/design\/adminhtml\/default\/default\/layout\/aoe_scheduler",
"\/skin\/adminhtml\/default\/default\/aoe_scheduler",
"\/scheduler_cron.sh"
]
},
{
"packageName": "mygento\/base",
"version": "1.0.5.0-efe258d12700acc82ead5a27a59c2f3f8ff85bd9",
"installedFiles": [
"\/app\/code\/community\/Mygento\/Base",
"\/app\/etc\/modules\/Mygento_Base.xml",
"\/app\/locale\/ru_RU\/Mygento_Base.csv",
"\/skin\/adminhtml\/default\/default\/images\/mygento\/base\/logo.png"
]
},
{
"packageName": "mygento\/theme",
"version": "9999999-dev-cf7342b08ec151bb075b6d5d8de439276a003fce",
"installedFiles": [
"\/app\/design\/frontend\/mygento",
"\/skin\/frontend\/mygento"
]
},
{
"packageName": "mygento\/yandexkassa",
"version": "1.1.7.0-5c2367afde1cf7a4563f4ebbfd94fed93a0db921",
"installedFiles": [
"\/app\/code\/local\/Mygento\/Yandexkassa",
"\/app\/design\/adminhtml\/default\/default\/template\/mygento\/yandexkassa\/info.phtml",
"\/app\/design\/frontend\/base\/default\/template\/mygento\/yandexkassa",
"\/app\/etc\/modules\/Mygento_Yandexkassa.xml",
"\/app\/locale\/ru_RU\/Mygento_Yandexkassa.csv"
]
}
]
I can't you help then if you can't reproduce with any non private modules. I can't tell if there is an issue just by looking at it.
I know, so please, can you provide me some help with debugging. I just want to reduce debug time. Where I should firstly look ?
AydinHassan\MagentoCoreComposerInstaller\Options Object
(
[deployExcludes:protected] => Array
(
[0] => .git
)
[ignoreDirectories:protected] => Array
(
[0] => /app/code/core/Mage
[1] => /app/code/core/Zend
[2] => /app/code/core/Enterprise
[3] => /dev
[4] => /lib/Zend
[5] => /lib/Varien
[6] => /lib/Magento
[7] => /lib/PEAR
[8] => /lib/Mage
[9] => /lib/phpseclib
[10] => /lib/flex
[11] => /lib/LinLibertineFont
[12] => /downloader
[13] => /js/extjs
[14] => /js/prototype
[15] => /js/calendar
[16] => /js/mage
[17] => /js/varien
[18] => /js/tiny_mce
[19] => /lib/Apache
[20] => /app/code/community/Phoenix/Moneybookers
[21] => /app/design/adminhtml/default/default/template/bundle
[22] => /app/design/adminhtml/default/default/template/catalog
[23] => /app/design/adminhtml/default/default/template/customer
[24] => /app/design/adminhtml/default/default/template/downloadable
[25] => /app/design/adminhtml/default/default/template/newsletter
[26] => /app/design/adminhtml/default/default/template/payment
[27] => /app/design/adminhtml/default/default/template/sales
[28] => /app/design/adminhtml/default/default/template/system
[29] => /app/design/adminhtml/default/default/template/widget
[30] => /app/design/adminhtml/default/default/template/xmlconnect
[31] => /app/design/frontend/base/default/template/bundle
[32] => /app/design/frontend/base/default/template/catalog
[33] => /app/design/frontend/base/default/template/checkout
[34] => /app/design/frontend/base/default/template/customer
[35] => /app/design/frontend/base/default/template/downloadable
[36] => /app/design/frontend/base/default/template/page
[37] => /app/design/frontend/base/default/template/payment
[38] => /app/design/frontend/base/default/template/paypal
[39] => /app/design/frontend/base/default/template/reports
[40] => /app/design/frontend/base/default/template/sales
[41] => /app/design/frontend/base/default/template/wishlist
[42] => /app/design/frontend/default/iphone/template/catalog
[43] => /app/design/frontend/default/iphone/template/checkout
[44] => /app/design/frontend/default/iphone/template/page
[45] => /app/design/frontend/default/iphone/template/sales
[46] => /app/design/frontend/default/iphone/template/wishlist
[47] => /app/design/frontend/rwd/default/template/bundle
[48] => /app/design/frontend/rwd/default/template/catalog
[49] => /app/design/frontend/rwd/default/template/checkout
[50] => /app/design/frontend/rwd/default/template/customer
[51] => /app/design/frontend/rwd/default/template/downloadable
[52] => /app/design/frontend/base/default/template/cataloginventory
[53] => /app/design/frontend/base/default/template/catalogsearch
[54] => /app/design/frontend/base/default/template/pagecache
[55] => /app/design/frontend/default/iphone/template/catalogsearch
[56] => /app/design/frontend/rwd/default/template/cataloginventory
[57] => /app/design/frontend/rwd/default/template/catalogsearch
[58] => /app/design/frontend/rwd/default/template/configurableswatches
[59] => /app/design/frontend/rwd/default/template/email
[60] => /app/design/frontend/rwd/default/template/page
[61] => /app/design/frontend/rwd/default/template/paypal
[62] => /app/design/frontend/rwd/default/template/persistent
[63] => /app/design/frontend/rwd/default/template/reports
[64] => /app/design/frontend/rwd/default/template/sales
[65] => /app/design/frontend/rwd/default/template/wishlist
[66] => /app/design/install/default/default/template/install
[67] => /skin/adminhtml/default/default/images/xmlconnect
[68] => /skin/frontend/base/default/images/moneybookers
[69] => /skin/frontend/rwd/default/scss
[70] => /app/design/adminhtml/default/default/template/paypal
[71] => /app/design/adminhtml/default/default/template/permissions
[72] => /app/design/adminhtml/default/default/template/report
[73] => /app/design/adminhtml/default/default/template/tax
[74] => /app/design/frontend/base/default/template/cms
[75] => /app/design/frontend/base/default/template/email
[76] => /app/design/frontend/base/default/template/moneybookers
[77] => /app/design/frontend/base/default/template/oauth
[78] => /app/design/frontend/base/default/template/review
[79] => /app/design/frontend/default/modern/template/catalog
[80] => /skin/adminhtml/default/default/xmlconnect
[81] => /skin/frontend/base/default/images/cookies
[82] => /skin/frontend/base/default/images/xmlconnect
[83] => /app/design/frontend/default/modern/template/catalogsearch
)
[appendToGitIgnore:protected] => 1
[magentoRootDir:protected] => public/modules
)
You could try put some dumps in here: https://github.com/AydinHassan/magento-core-composer-installer/blob/master/src/CoreManager.php#L163 check the state of the file system. Eg does public/modules exist? Because it should on update. Maybe it has something to do with your root being two folders deep. Try it with one level deep. Other than that you can setup xdebug to run composer update and put a breakpoint in the installer.
class AydinHassan\MagentoCoreComposerInstaller\GitIgnore#69714 (4) {
protected $lines =>
array(84) {
[0] =>
string(19) "/app/code/core/Mage"
[1] =>
string(19) "/app/code/core/Zend"
[2] =>
string(25) "/app/code/core/Enterprise"
[3] =>
string(4) "/dev"
[4] =>
string(9) "/lib/Zend"
[5] =>
string(11) "/lib/Varien"
[6] =>
string(12) "/lib/Magento"
[7] =>
string(9) "/lib/PEAR"
[8] =>
string(9) "/lib/Mage"
[9] =>
string(14) "/lib/phpseclib"
[10] =>
string(9) "/lib/flex"
[11] =>
string(21) "/lib/LinLibertineFont"
[12] =>
string(11) "/downloader"
[13] =>
string(9) "/js/extjs"
[14] =>
string(13) "/js/prototype"
[15] =>
string(12) "/js/calendar"
[16] =>
string(8) "/js/mage"
[17] =>
string(10) "/js/varien"
[18] =>
string(12) "/js/tiny_mce"
[19] =>
string(11) "/lib/Apache"
[20] =>
string(40) "/app/code/community/Phoenix/Moneybookers"
[21] =>
string(53) "/app/design/adminhtml/default/default/template/bundle"
[22] =>
string(54) "/app/design/adminhtml/default/default/template/catalog"
[23] =>
string(55) "/app/design/adminhtml/default/default/template/customer"
[24] =>
string(59) "/app/design/adminhtml/default/default/template/downloadable"
[25] =>
string(57) "/app/design/adminhtml/default/default/template/newsletter"
[26] =>
string(54) "/app/design/adminhtml/default/default/template/payment"
[27] =>
string(52) "/app/design/adminhtml/default/default/template/sales"
[28] =>
string(53) "/app/design/adminhtml/default/default/template/system"
[29] =>
string(53) "/app/design/adminhtml/default/default/template/widget"
[30] =>
string(57) "/app/design/adminhtml/default/default/template/xmlconnect"
[31] =>
string(49) "/app/design/frontend/base/default/template/bundle"
[32] =>
string(50) "/app/design/frontend/base/default/template/catalog"
[33] =>
string(51) "/app/design/frontend/base/default/template/checkout"
[34] =>
string(51) "/app/design/frontend/base/default/template/customer"
[35] =>
string(55) "/app/design/frontend/base/default/template/downloadable"
[36] =>
string(47) "/app/design/frontend/base/default/template/page"
[37] =>
string(50) "/app/design/frontend/base/default/template/payment"
[38] =>
string(49) "/app/design/frontend/base/default/template/paypal"
[39] =>
string(50) "/app/design/frontend/base/default/template/reports"
[40] =>
string(48) "/app/design/frontend/base/default/template/sales"
[41] =>
string(51) "/app/design/frontend/base/default/template/wishlist"
[42] =>
string(52) "/app/design/frontend/default/iphone/template/catalog"
[43] =>
string(53) "/app/design/frontend/default/iphone/template/checkout"
[44] =>
string(49) "/app/design/frontend/default/iphone/template/page"
[45] =>
string(50) "/app/design/frontend/default/iphone/template/sales"
[46] =>
string(53) "/app/design/frontend/default/iphone/template/wishlist"
[47] =>
string(48) "/app/design/frontend/rwd/default/template/bundle"
[48] =>
string(49) "/app/design/frontend/rwd/default/template/catalog"
[49] =>
string(50) "/app/design/frontend/rwd/default/template/checkout"
[50] =>
string(50) "/app/design/frontend/rwd/default/template/customer"
[51] =>
string(54) "/app/design/frontend/rwd/default/template/downloadable"
[52] =>
string(59) "/app/design/frontend/base/default/template/cataloginventory"
[53] =>
string(56) "/app/design/frontend/base/default/template/catalogsearch"
[54] =>
string(52) "/app/design/frontend/base/default/template/pagecache"
[55] =>
string(58) "/app/design/frontend/default/iphone/template/catalogsearch"
[56] =>
string(58) "/app/design/frontend/rwd/default/template/cataloginventory"
[57] =>
string(55) "/app/design/frontend/rwd/default/template/catalogsearch"
[58] =>
string(62) "/app/design/frontend/rwd/default/template/configurableswatches"
[59] =>
string(47) "/app/design/frontend/rwd/default/template/email"
[60] =>
string(46) "/app/design/frontend/rwd/default/template/page"
[61] =>
string(48) "/app/design/frontend/rwd/default/template/paypal"
[62] =>
string(52) "/app/design/frontend/rwd/default/template/persistent"
[63] =>
string(49) "/app/design/frontend/rwd/default/template/reports"
[64] =>
string(47) "/app/design/frontend/rwd/default/template/sales"
[65] =>
string(50) "/app/design/frontend/rwd/default/template/wishlist"
[66] =>
string(52) "/app/design/install/default/default/template/install"
[67] =>
string(49) "/skin/adminhtml/default/default/images/xmlconnect"
[68] =>
string(47) "/skin/frontend/base/default/images/moneybookers"
[69] =>
string(31) "/skin/frontend/rwd/default/scss"
[70] =>
string(53) "/app/design/adminhtml/default/default/template/paypal"
[71] =>
string(58) "/app/design/adminhtml/default/default/template/permissions"
[72] =>
string(53) "/app/design/adminhtml/default/default/template/report"
[73] =>
string(50) "/app/design/adminhtml/default/default/template/tax"
[74] =>
string(46) "/app/design/frontend/base/default/template/cms"
[75] =>
string(48) "/app/design/frontend/base/default/template/email"
[76] =>
string(55) "/app/design/frontend/base/default/template/moneybookers"
[77] =>
string(48) "/app/design/frontend/base/default/template/oauth"
[78] =>
string(49) "/app/design/frontend/base/default/template/review"
[79] =>
string(52) "/app/design/frontend/default/modern/template/catalog"
[80] =>
string(42) "/skin/adminhtml/default/default/xmlconnect"
[81] =>
string(42) "/skin/frontend/base/default/images/cookies"
[82] =>
string(45) "/skin/frontend/base/default/images/xmlconnect"
[83] =>
string(58) "/app/design/frontend/default/modern/template/catalogsearch"
}
protected $directoriesToIgnoreEntirely =>
array(84) {
[0] =>
string(19) "/app/code/core/Mage"
[1] =>
string(19) "/app/code/core/Zend"
[2] =>
string(25) "/app/code/core/Enterprise"
[3] =>
string(4) "/dev"
[4] =>
string(9) "/lib/Zend"
[5] =>
string(11) "/lib/Varien"
[6] =>
string(12) "/lib/Magento"
[7] =>
string(9) "/lib/PEAR"
[8] =>
string(9) "/lib/Mage"
[9] =>
string(14) "/lib/phpseclib"
[10] =>
string(9) "/lib/flex"
[11] =>
string(21) "/lib/LinLibertineFont"
[12] =>
string(11) "/downloader"
[13] =>
string(9) "/js/extjs"
[14] =>
string(13) "/js/prototype"
[15] =>
string(12) "/js/calendar"
[16] =>
string(8) "/js/mage"
[17] =>
string(10) "/js/varien"
[18] =>
string(12) "/js/tiny_mce"
[19] =>
string(11) "/lib/Apache"
[20] =>
string(40) "/app/code/community/Phoenix/Moneybookers"
[21] =>
string(53) "/app/design/adminhtml/default/default/template/bundle"
[22] =>
string(54) "/app/design/adminhtml/default/default/template/catalog"
[23] =>
string(55) "/app/design/adminhtml/default/default/template/customer"
[24] =>
string(59) "/app/design/adminhtml/default/default/template/downloadable"
[25] =>
string(57) "/app/design/adminhtml/default/default/template/newsletter"
[26] =>
string(54) "/app/design/adminhtml/default/default/template/payment"
[27] =>
string(52) "/app/design/adminhtml/default/default/template/sales"
[28] =>
string(53) "/app/design/adminhtml/default/default/template/system"
[29] =>
string(53) "/app/design/adminhtml/default/default/template/widget"
[30] =>
string(57) "/app/design/adminhtml/default/default/template/xmlconnect"
[31] =>
string(49) "/app/design/frontend/base/default/template/bundle"
[32] =>
string(50) "/app/design/frontend/base/default/template/catalog"
[33] =>
string(51) "/app/design/frontend/base/default/template/checkout"
[34] =>
string(51) "/app/design/frontend/base/default/template/customer"
[35] =>
string(55) "/app/design/frontend/base/default/template/downloadable"
[36] =>
string(47) "/app/design/frontend/base/default/template/page"
[37] =>
string(50) "/app/design/frontend/base/default/template/payment"
[38] =>
string(49) "/app/design/frontend/base/default/template/paypal"
[39] =>
string(50) "/app/design/frontend/base/default/template/reports"
[40] =>
string(48) "/app/design/frontend/base/default/template/sales"
[41] =>
string(51) "/app/design/frontend/base/default/template/wishlist"
[42] =>
string(52) "/app/design/frontend/default/iphone/template/catalog"
[43] =>
string(53) "/app/design/frontend/default/iphone/template/checkout"
[44] =>
string(49) "/app/design/frontend/default/iphone/template/page"
[45] =>
string(50) "/app/design/frontend/default/iphone/template/sales"
[46] =>
string(53) "/app/design/frontend/default/iphone/template/wishlist"
[47] =>
string(48) "/app/design/frontend/rwd/default/template/bundle"
[48] =>
string(49) "/app/design/frontend/rwd/default/template/catalog"
[49] =>
string(50) "/app/design/frontend/rwd/default/template/checkout"
[50] =>
string(50) "/app/design/frontend/rwd/default/template/customer"
[51] =>
string(54) "/app/design/frontend/rwd/default/template/downloadable"
[52] =>
string(59) "/app/design/frontend/base/default/template/cataloginventory"
[53] =>
string(56) "/app/design/frontend/base/default/template/catalogsearch"
[54] =>
string(52) "/app/design/frontend/base/default/template/pagecache"
[55] =>
string(58) "/app/design/frontend/default/iphone/template/catalogsearch"
[56] =>
string(58) "/app/design/frontend/rwd/default/template/cataloginventory"
[57] =>
string(55) "/app/design/frontend/rwd/default/template/catalogsearch"
[58] =>
string(62) "/app/design/frontend/rwd/default/template/configurableswatches"
[59] =>
string(47) "/app/design/frontend/rwd/default/template/email"
[60] =>
string(46) "/app/design/frontend/rwd/default/template/page"
[61] =>
string(48) "/app/design/frontend/rwd/default/template/paypal"
[62] =>
string(52) "/app/design/frontend/rwd/default/template/persistent"
[63] =>
string(49) "/app/design/frontend/rwd/default/template/reports"
[64] =>
string(47) "/app/design/frontend/rwd/default/template/sales"
[65] =>
string(50) "/app/design/frontend/rwd/default/template/wishlist"
[66] =>
string(52) "/app/design/install/default/default/template/install"
[67] =>
string(49) "/skin/adminhtml/default/default/images/xmlconnect"
[68] =>
string(47) "/skin/frontend/base/default/images/moneybookers"
[69] =>
string(31) "/skin/frontend/rwd/default/scss"
[70] =>
string(53) "/app/design/adminhtml/default/default/template/paypal"
[71] =>
string(58) "/app/design/adminhtml/default/default/template/permissions"
[72] =>
string(53) "/app/design/adminhtml/default/default/template/report"
[73] =>
string(50) "/app/design/adminhtml/default/default/template/tax"
[74] =>
string(46) "/app/design/frontend/base/default/template/cms"
[75] =>
string(48) "/app/design/frontend/base/default/template/email"
[76] =>
string(55) "/app/design/frontend/base/default/template/moneybookers"
[77] =>
string(48) "/app/design/frontend/base/default/template/oauth"
[78] =>
string(49) "/app/design/frontend/base/default/template/review"
[79] =>
string(52) "/app/design/frontend/default/modern/template/catalog"
[80] =>
string(42) "/skin/adminhtml/default/default/xmlconnect"
[81] =>
string(42) "/skin/frontend/base/default/images/cookies"
[82] =>
string(45) "/skin/frontend/base/default/images/xmlconnect"
[83] =>
string(58) "/app/design/frontend/default/modern/template/catalogsearch"
}
protected $gitIgnoreLocation =>
string(25) "public/modules/.gitignore"
protected $hasChanges =>
bool(true)
}
No, there is no public/modules.
Ok why doesn't it exist at that point? To remove the core it must exist?
So If you know jekyll is a static site generator. On building it deletes all public folder content. Then composer install magento as a new installation to the public/modules. However now I want to update dependencies and lock them to 1.9.2.2.
In my opinion the problem is in not checking availability of the gitignore on the remove action
OK this is your issue. The workflow for the installer, when updating a magento core package is:
Your workflow doesn't tie in with the workflow of the installer.
Maybe the installer could have an option like "no-remove-on-update" which would skip the removal process when updating if true.
Sadly I don't have time to implement this at the minute, however, I would accept pull requests :)
Sent from my iPhone
On 6 Nov 2015, at 12:12, Nikita notifications@github.com wrote:
So If you know jekyll is a static site generator. On building it deletes all public folder content. Then composer install magento as new installation. However now I want to update dependencies and lock them to 1.9.2.2.
— Reply to this email directly or view it on GitHub.