Rails-Anwendungen können Hunderte von Abhängigkeiten aufweisen, die normalerweise nicht aktualisiert werden und regelmäßig aktualisiert werden müssen. Nachdem ich bundle outdated
ausgeführt und eine Liste mit über 100 Edelsteinen bekommen habe, die veraltet sind, bin ich ein bisschen eingeschüchtert, wenn ich jeden einzelnen nachschlagen, seinen CHANGELOG finden und bestätigen kann, dass das Update nichts kaputt macht. Es scheint nicht einmal ein bestätigter Weg zu update a single gem zu sein, ohne alle Abhängigkeiten zu ziehen.So können Sie alle Edelsteine in einer Rails-Anwendung sicher aktualisieren
Ich fand this project, die jedes Juwel in einem separaten Commit nach dem Bestehen automatisierter Tests aktualisieren soll. Dies würde helfen, den Prozess zu rationalisieren, aber es sagt Ihnen nicht, welche Edelstein-Versions-Upgrades DSL-Änderungen enthalten (wie this one). Manchmal aktualisiere ich Blind- oder Patch-Versionen blind, ohne zu überprüfen, in der Hoffnung, dass der Autor eine SEMVER-ähnliche Versionskonvention befolgt. In anderen Fällen gibt es keine Dokumentation (keine History- oder CHANGELOG-Dateien).
Wenn ich meinen eigenen Code schreibe, bin ich sicher, jede Zeile zu überprüfen, bevor ich sie begehe. Sollte für die Aktualisierung von Bibliotheken dieselbe Wachsamkeit gelten? Gewöhnlich wurde bei der Aufnahme der Bibliothek nicht viel Sorgfalt angewandt. Aber in einem Greenfield-Projekt gibt es wenig zu verlieren und viel zu gewinnen, wenn man den Code anderer nutzt. In einem ausgereiften Projekt gibt es wenig Toleranz für neue Fehler.
Gibt es irgendwelche Tools oder Prozesse, um Updates einzeln abzurufen, die Änderungen in einer diff-ähnlichen Weise anzuzeigen, das CHANGELOG anzuzeigen und die Testsuite auszuführen?