Gestern habe ich an einem Rails 5-API-Projekt gearbeitet, in dem die Bibliothek " Acts as Taggable On" verwendet wird, damit Dinge Tags haben können (z. B. Fragen zu SE). Rails 5 ist derzeit in Alpha-Unterstützung. Derzeit gibt es einen PR, der einen Fehler behebt, der darauf wartet, in den Master integriert zu werden. Der Fehler führte dazu, dass mein Feature-Zweig auf halbem Weg zum Stillstand kam. Ich konnte die Funktionalität der Bibliothek nicht implementieren, da das Laden unterbrochen war.
Als schnelle Lösung habe ich einfach das Repo geklont, das Problem mit demselben Code behoben, den der PR hatte, und meine Gemfile (Dependency Version Control File) auf meine eigene Github-Abspaltung verwiesen, bis der Bugfix endgültig wieder mit dem Master verschmolzen ist.
Ich hatte das Glück, dass die Lösung einfach war ( und dass es bereits jemand getan hatte ), sodass ich das Problem umgehen konnte. Was aber, wenn diese Bibliothek für die Entwicklung meiner Anwendung von entscheidender Bedeutung war? Was ist, wenn der Bugfix, der meine Entwicklung stoppte, für andere kein weit verbreitetes Problem war , so dass sich der Fix nicht so schnell herumgesprochen hat wie diesmal?
Stellen Sie sich vor, dass diese Funktion vor der Entwicklung anderer abhängiger Funktionen abgeschlossen werden musste. Was tun Sie in dieser Situation? Was wäre, wenn Tagging für mich für den nächsten Entwicklungsschritt, bei dem sich alles andere darauf stützte , absolut entscheidend wäre - aber die Tagging-Abhängigkeit ist für meine Konfiguration fehlerhaft? Was macht man, wenn kritische Funktionalität einer Abhängigkeit die Entwicklung von (einem) Merkmal (en) behindert?
Und Schwertkämpfe auf Bürostühlen über Stunden oder Tage sind sicherlich keine Option ...