O compositor descarta as alterações: o que os [y, n, v, d, s ,?] fazem

121

Pergunta simples que me incomoda há meses.

Ocasionalmente, vou entrar no diretório de fornecedores para corrigir um erro (especialmente para nossas bibliotecas internas). Depois de migrar e implantar a correção de volta ao pacote de origem, entrarei composer update company/packageno projeto principal e me perguntam:

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

Eu tenho uma compreensão decente ye n, mas não foram capazes de encontrar documentação sobre o que v, d, s, ?fazer? Sempre bato, ymas talvez esteja perdendo algo útil.


Editar% s:

  • dopção adicionada (out '17)
Mark Fox
fonte
8
Você já tentou usar ?? Isso provavelmente trará uma boa mensagem de ajuda.
nneonneo 13/09/14
2
Certo. O problema é que leva cerca de dois minutos para o compositor fazer a atualização, reconhecer o estado sujo e, quando realmente funciona, a memória muscular entra em ação, eu bato ye não tenho capacidade de bater ?sem esperar mais alguns minutos. Eu acho que se estou coçando a cabeça, os outros também.
Mark Fox
1
Agora tem D como opção, por isso seria bom adicioná-lo aqui #
Mladen Janjetovic 15/10

Respostas:

188

A escolha ?mostra os detalhes:

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

Você também pode verificar o código fonte, a parte relevante está aqui .

Gergo Erdosi
fonte
31

Se você correr com a --no-interaction, você pode definir discard-changes: trueno composer.jsonarquivo e você não vai conseguir solicitado para esta opção de cada vez.

Ou execute:

COMPOSER_DISCARD_CHANGES=true composer install --no-interaction

Reza S
fonte
2
Existe uma maneira de fazer este pontapé opção sem correr com--no-interaction
Jake Sylvestre
3
@JakeSylvestre talvez um ano de atraso, mas isso pode ser útil para outras pessoas com problema semelhante: stackoverflow.com/a/18812171/1097372
Iyas
@lyas Ah, ótimo! Obrigado.
Jake Sylvestre
4
Existe env var para controlar as alterações de descarteCOMPOSER_DISCARD_CHANGES=true composer install --no-interaction
5n00py 28/02/19