Ontem, eu estava trabalhando em um projeto de API do Rails 5, que está usando a biblioteca age-as-taggable-on para permitir que as coisas tenham tags (como perguntas no SE). O Rails 5 está agora em suporte alfa. Atualmente, existe um PR para corrigir um erro que espera ser mesclado no master; o bug fez com que meu ramo de recursos parasse no meio da conclusão - não consegui implementar nenhuma das funcionalidades da biblioteca porque o carregamento estava interrompido.
Como uma solução rápida, simplesmente clonei o repositório, corrigi o problema com o mesmo código que o PR e apontei meu Gemfile (arquivo de controle de versões de dependências) para o meu próprio fork do Github, até que a correção do bug finalmente seja mesclada novamente no master.
Tive sorte de a correção ser simples ( e de alguém já ter feito isso ), então pude contornar o problema. Mas e se essa biblioteca fosse crítica para o desenvolvimento do meu aplicativo? E se a correção de erro que estava interrompendo meu desenvolvimento não fosse um problema generalizado para outras pessoas , para que a correção não ocorresse rapidamente, como desta vez?
Imagine que esse recurso precisava ser concluído antes do desenvolvimento de outros recursos dependentes - o que você faz nessa situação? E se, para mim, a marcação fosse absolutamente crítica para a próxima frase de desenvolvimento, onde todo o resto dependia dela - mas a dependência da marcação é corrigida para a minha configuração? O que se faz quando a funcionalidade crítica de uma dependência impede o desenvolvimento de (a) recurso (s)?
E, certamente, lutas de espadas em cadeiras de escritório por horas ou dias não é uma opção ...