Launch HN: Diversion (YC S22), eine Cloud-native Git-Alternative
(news.ycombinator.com)- Diversion ist ein Versionsverwaltungssystem für große Repositories und Zusammenarbeit im Cloud-Zeitalter; zu den ersten Nutzern gehören Spieleentwickler, die Einfachheit und Skalierbarkeit wollen
- Git wurde 2005 für langsame Netzwerke, kleine Projekte und eine Welt ohne Cloud entwickelt und stößt nach Ansicht von Diversion heute bei Repository- und Dateigrößen sowie der Zahl gleichzeitiger Nutzer an Grenzen
- Die internen Versionsverwaltungssysteme von Google und Meta sowie der Einsatz von SVN und Perforce bei einigen Unternehmen aus Spieleentwicklung, Halbleitern und Finanzdienstleistungen werden als Beleg angeführt, dass Git nicht für jede Organisation passt
- Diversion verarbeitet Repository-Operationen wie commit, branch und merge über API-Aufrufe auf Basis von verteiltem Storage, Datenbanken, REST API und serverloser Cloud-Infrastruktur
- Der Dienst ist derzeit als Open Beta verfügbar, kleine Teams können kostenlos starten, und Verbesserungen bei Geschwindigkeit, CI-Integration, IDE- und Game-Engine-Plugins sowie der Usability sind in Arbeit
Die Grenzen von Git, auf die Diversion abzielt
- Diversion ist ein Cloud-natives Versionsverwaltungssystem, das unter diversion.dev angeboten wird
- Eine kurze Demo gibt es als YouTube-Video
- Zu den ersten Nutzern gehören Spieleentwickler, die Einfachheit und Skalierbarkeit als Vorteile sehen
- Git hat in den vergangenen 18 Jahren eine große Rolle für die Weiterentwicklung der Softwareentwicklung gespielt, wurde aber für die Bedingungen von 2005 entwickelt und ist daher nicht für alle Nutzer das perfekte Werkzeug
- Der größte Nachteil ist die begrenzte Skalierbarkeit, die sich bei Repository-Größe, Dateigröße und der Zahl gleichzeitiger Nutzer zeigt
- Google und Meta haben deshalb eigene Versionsverwaltungssysteme entwickelt
- Einige Großunternehmen aus Spieleentwicklung, Halbleitern und Finanzdienstleistungen nutzen weiterhin Legacy-Tools wie SVN und Perforce
- Auch die Komplexität von Git kann zu realem Arbeitsverlust führen
- In einem früheren Startup verlor ein Data Scientist durch einen falschen Git-Befehl einen Monat Teamarbeit
- Einige Stunden später konnte die Arbeit aus einem nicht aktualisierten Repository-Klon wiederhergestellt werden
- Gleichzeitig haben Gits Branch- und Merge-Funktionen stark zu modernen Entwicklungspraktiken wie Feature Branches und CI/CD sowie zu höherer Entwicklergeschwindigkeit beigetragen
Cloud-basierte Funktionsweise
- Diversion will die Branch-Funktionalität von Git beibehalten und zugleich ein einfacheres, schnelleres und skalierbareres Versionsverwaltungssystem bieten
- Das Konzept der Echtzeit-Zusammenarbeit aus modernen Cloud-Tools wird auf Versionsverwaltung angewendet
- Ähnlich wie bei Google Docs und Figma kann der aktuelle Arbeitsstand geteilt werden
- Entwickler wollen das, woran sie gerade arbeiten, nicht immer offenlegen, aber es kann nützlich sein, vor dem Commit Feedback zu bekommen, Merge-Konflikte zu erkennen und zu vermeiden oder zu sehen, welche Teile der Codebase andere gerade ändern
- Die interne Architektur basiert auf verteiltem Storage und Datenbanken, REST API und serverloser Cloud-Infrastruktur
- Alle Repository-Operationen wie API-Aufrufe für commit, branch und merge werden darüber verarbeitet
- Der Desktop-Client synchronisiert sogar den Arbeitsstand vor dem Commit in Echtzeit in die Cloud
- Nutzer können über eine interaktive CLI, eine Web-UI und IDE-Plugins zugreifen
- Derzeit unterstützen die IDE-Plugins JetBrains, weitere sollen folgen
- Mit der Web-UI lassen sich die meisten grundlegenden Aufgaben auch ohne Installation des Desktop-Clients ausführen
- Es ist mit Git kompatibel und kann mit bestehenden Git-Repositories synchronisiert werden
- Neue Commits aus Diversion gehen in Git ein, und neue Git-Commits gehen auch in Diversion ein
Veröffentlichungsplan und Bedingungen der Beta-Nutzung
- Sobald die Codebase ausgereift ist und auf der Website ein Verzeichnis für Open-Source-Repositories implementiert wurde, soll das Projekt als Open Source veröffentlicht werden
- Auch der Code von Diversion wird mit Diversion verwaltet
- Der Dienst ist derzeit als Open Beta verfügbar; über „Get Started“ lässt sich per Self-Service beginnen
- Dafür ist kein Gespräch mit jemandem erforderlich
- Für kleine Teams ist die Nutzung kostenlos; Preisinformationen gibt es unter pricing
- Zu den laufenden Verbesserungen gehören Geschwindigkeit, CI-Integration, IDE- und Game-Engine-Plugins sowie weitere Verbesserungen der Usability
1 Kommentare
Hacker-News-Kommentare