Reputation: 3540
I'm updating symfony verdors via composer. I always do it using:
php composer.phar update
But recent version of composer, before update each package show a message like this:
- Updating doctrine/data-fixtures dev-master (a95d783 => a28b6bd)
The package has modified files:
M .gitignore
M .gitmodules
M LICENSE
M README.md
M UPGRADE
M composer.json
M lib/Doctrine/Common/DataFixtures/AbstractFixture.php
M lib/Doctrine/Common/DataFixtures/DependentFixtureInterface.php
M lib/Doctrine/Common/DataFixtures/Event/Listener/MongoDBReferenceListener.php
M lib/Doctrine/Common/DataFixtures/Event/Listener/ORMReferenceListener.php
-10 more files modified, choose "v" to view the full list Discard changes [y,n,v,s,?]?
How to avoid this?
Upvotes: 33
Views: 21553
Reputation: 9758
Alternative to @lemats solution you can modify the composer.json file with:
"config": {
"discard-changes": true
},
It's worth nothing for this option to kick in you have to be running in --no-interaction
mode
php composer.json install --no-interaction
Although I agree with @Seldaek on you shouldn't be modifying these vendor files, but sometimes you are forced to monkey patch it :(
Upvotes: 22
Reputation: 486
both @lemats and @reza-sanaie's answers are incomplete as --no-interaction (-n) composer's option is required to have a real update without any question (see https://github.com/composer/composer/pull/1188#issuecomment-16011533).
So after
php composer.phar config --global discard-changes true
or after modifying composer.json
"config": {
"discard-changes": true
},
use
php composer.phar update -n
Upvotes: 34
Reputation: 616
Set composer config to discard changes (see: https://github.com/composer/composer/pull/1188):
php composer.phar config --global discard-changes true
Upvotes: 43
Reputation: 42056
How about not modifying vendor files? If they get modified most likely it's because of some messed up git settings for the line endings. See https://help.github.com/articles/dealing-with-line-endings
Upvotes: -4