Ieri stavo lavorando a un progetto API Rails 5 che utilizza il act-as-taggable-on per consentire alle cose di avere tag (come le domande su SE). Rails 5 è in supporto alfa in questo momento. Al momento c'è un PR per correggere un bug in attesa di essere fuso in master; il bug ha causato il blocco del mio ramo di funzionalità a metà del completamento: non è stato possibile implementare alcuna funzionalità della libreria perché il caricamento è stato interrotto.
Come soluzione rapida, ho semplicemente clonato il repository, risolto il problema con lo stesso codice del PR, e ho indirizzato il mio Gemfile (file di controllo delle versioni di dipendenza) alla mia forcella Github, fino a quando il bugfix non è stato ricollegato master.
Sono stato fortunato che la correzione fosse semplice ( e che qualcuno l'avesse già fatto ), quindi sono stato in grado di aggirare il problema. Ma cosa succede se questa libreria è stata fondamentale per lo sviluppo della mia applicazione? Che cosa succede se il bugfix che interrompeva lo sviluppo mio non era un problema diffuso per altre persone , quindi la correzione non si presentava rapidamente come in quel momento?
Immagina che questa funzionalità debba essere completata prima dello sviluppo su altre funzioni dipendenti - che cosa fai in quella situazione? Cosa accadrebbe se, per me, il tagging fosse assolutamente critico per la frase successiva di sviluppo, dove tutto il resto si basava su di esso - ma la dipendenza di tagging è infestata dalla mia configurazione? Che cosa si fa quando una funzionalità critica di una dipendenza impedisce lo sviluppo di (a) funzionalità (i)?
E, sicuramente, combattimenti con le spade sulle sedie da ufficio per ore o giorni non è un'opzione ...