le compositeur ignore les modifications: que font les [y, n, v, d, s ,?]

121

Une question simple qui me dérange depuis des mois.

De temps en temps, je vais plonger dans le répertoire des fournisseurs pour corriger un bogue (en particulier pour nos bibliothèques internes). Après avoir migré et déployé le correctif vers le package source, je vais composer update company/packagedans le projet principal et on me demande:

Discard changes [y,n,v,d,s,?]

J'ai une bonne compréhension décente yet nmais n'ont pas été en mesure de trouver de la documentation sur ce v, d, s, ?faire? J'ai toujours frappé ymais peut-être que je rate quelque chose d'utile.


Modifications:

  • doption ajoutée (oct '17)
Mark Fox
la source
8
Avez-vous essayé d'utiliser ?? Cela fera probablement apparaître un joli message d'aide.
nneonneo
2
Sûr. Les choses sont que cela prend environ deux minutes pour que le compositeur fasse la mise à jour, reconnaisse l'état sale et quand je travaille réellement, la mémoire musculaire se déclenche et je yn'ai pas la capacité de frapper ?sans attendre encore quelques minutes. Je suppose que si je me gratte la tête, les autres le sont aussi.
Mark Fox
1
Il a maintenant D en option, donc ce serait bien de l'ajouter ici
Mladen Janjetovic

Réponses:

188

Choisir ?vous montre les détails:

y - discard changes and apply the update
n - abort the update and let you manually clean things up
v - view modified files
d - view local modifications (diff)
s - stash changes and try to reapply them after the update

Vous pouvez également vérifier le code source, la partie pertinente est ici .

Gergo Erdosi
la source
31

Si vous exécutez avec le --no-interaction, vous pouvez définir discard-changes: truedans le composer.jsonfichier et vous ne serez pas invité pour cette option à chaque fois.

Ou exécutez:

COMPOSER_DISCARD_CHANGES=true composer install --no-interaction

Reza S
la source
2
Est-il possible de faire en sorte que cette option démarre sans courir avec--no-interaction
Jake Sylvestre
3
@JakeSylvestre peut-être un an de retard, mais cela pourrait être utile pour d'autres personnes ayant un problème similaire: stackoverflow.com/a/18812171/1097372
Iyas
@lyas Ah, super! Merci.
Jake Sylvestre
4
Il existe une COMPOSER_DISCARD_CHANGES=true composer install --no-interaction
variable d'environnement