1 Punkte von GN⁺ 2024-01-23 | 1 Kommentare | Auf WhatsApp teilen
  • Vorstellung von Diversion, einem neuen Versionsverwaltungssystem

    • Sasha und Egal entwickeln Diversion, ein modernes cloudbasiertes Versionsverwaltungssystem.
    • Die ersten Nutzer sind Spieleentwickler, denen die Einfachheit und Skalierbarkeit von Diversion gefällt.
    • Eine kurze Demo gibt es hier: Demo-Link
  • Die Grenzen von Git und der Bedarf an einem neuen VCS

    • Git hat die Softwareentwicklung stark vorangebracht, wurde aber 2005 für die damalige Umgebung konzipiert (langsame Netzwerke, kleine Projekte, keine Cloud) und ist heute nicht für alle das perfekte Werkzeug.
    • Der größte Nachteil von Git ist die begrenzte Skalierbarkeit bei Repository- und Dateigröße sowie bei der Zahl gleichzeitiger Nutzer.
    • Deshalb haben Google und Meta eigene Versionsverwaltungssysteme gebaut, und deshalb nutzen große Unternehmen in Bereichen wie Spieleentwicklung, Halbleiter und Finanzdienstleistungen weiterhin Legacy-Tools wie SVN und Perforce.
  • Lösung der Git-Komplexität und Integration moderner Funktionen

    • Ziel ist es, Probleme zu lösen, die durch die Komplexität von Git entstehen.
    • Die hervorragenden Branching- und Merge-Funktionen von Git haben erheblich zu modernen Methoden der Softwareentwicklung beigetragen.
    • Die Frage ist, ob sich ein einfach zu bedienendes, schnelles und skalierbares Versionsverwaltungssystem bauen lässt und was sich verbessern lässt, ohne die Branching-Funktionen von Git aufzugeben.
  • Merkmale von Diversion und Nutzererlebnis

    • Diversion ist auf verteilter Speicherung und Datenbanken aufgebaut, über eine REST API zugänglich und läuft auf serverloser Cloud-Infrastruktur.
    • Alle Repository-Operationen erfolgen über API-Aufrufe (Commit, Branch, Merge usw.).
    • Der Desktop-Client synchronisiert während der Arbeit alles in Echtzeit mit der Cloud, auch vor einem Commit.
    • Nutzer können Diversion über eine interaktive CLI, eine Web-UI und IDE-Plugins verwenden (JetBrains ist derzeit verfügbar, weitere folgen bald).
    • Über die Web-UI lassen sich grundlegende Aufgaben auch ohne Installation des Desktop-Clients ausführen.
  • Kompatibilität mit Git und Open-Source-Pläne

    • Diversion ist mit Git kompatibel und kann mit bestehenden Git-Repositories synchronisiert werden (neue Diversion-Commits werden in Git übernommen und umgekehrt).
    • Sobald die Codebasis ausgereift ist und auf der Website ein Open-Source-Repository-Verzeichnis umgesetzt wurde, soll Diversion als Open Source veröffentlicht werden (der Code von Diversion wird in Diversion verwaltet).
  • Open Beta und kostenlose Nutzung

    • Diversion befindet sich in der Open Beta und kann hier ausprobiert werden: Diversion-Website (auf „Get Started“ klicken).
    • Es ist vollständig Self-Service und für kleine Teams kostenlos.
  • Funktionen in Entwicklung und Bitte um Feedback

    • Ein Versionsverwaltungssystem zu bauen ist schwierig, und Diversion hat noch einen weiten Weg vor sich.
    • Derzeit liegt der Fokus auf Geschwindigkeitsverbesserungen, CI-Integration, der Entwicklung von IDE- und Game-Engine-Plugins sowie weiteren Verbesserungen der Benutzerfreundlichkeit.
    • Gewünscht sind Meinungen und Feedback zum bisherigen Fortschritt.

Meinung von GN⁺

  • Wichtig an Diversion ist der Anspruch, als modernes cloudbasiertes Versionsverwaltungssystem die Skalierungsprobleme und die Komplexität von Git zu lösen.
  • Echtzeit-Zusammenarbeit, API-basierte Abläufe und die Kompatibilität mit Git sind Funktionen, die für Entwickler attraktiv sein können.
  • Die Open Beta und die kostenlose Nutzung bieten vielen Entwicklern eine gute Gelegenheit, ein neues Tool auszuprobieren, was dem schnellen Wachstum und der Verbesserung von Diversion helfen dürfte.

1 Kommentare

 
GN⁺ 2024-01-23
Hacker-News-Kommentare
  • Cloud-Native Git Alternative

    • Cloud-Native ist ein Implementierungsdetail und nur dann wichtig, wenn man nicht plant, ein neues Versionsverwaltungssystem (VCS) als paketierte Software statt als Service zu verkaufen.
    • Es ist unklar, wie Cloud-Native die alltäglichen Probleme von Git-Nutzern löst.
  • The biggest drawback of Git is its limited scalability

    • Es stellt sich die Frage, wie hoch der Anteil der Nutzer ist, die tatsächlich Skalierungsprobleme mit Git erleben.
    • Ich habe in Unternehmen mit einigen Hundert bis zu Zehntausenden von Ingenieuren gearbeitet, aber persönlich nie Skalierungsprobleme mit Git erlebt.
    • Die Nutzung eines Monorepos kann Skalierungsprobleme verursachen, aber Monorepos selbst sind umstritten.
  • Diversion is built on top of distributed storage and databases, accessible via REST API, and runs on serverless cloud infrastructure. Every repository operation is an API call (commit, branch, merge etc.).

    • Aus Nutzersicht besteht wenig Interesse an internen Protokollen.
    • Bei der Nutzung von CLI oder UI ist das interne Protokoll nicht wichtig.
    • Es besteht Neugier auf ein VCS auf Basis abstrakter Syntaxbäume (AST).
  • most notably in games development, semiconductors and financial services are still using legacy tools like SVN and Perforce

    • Der Fokus sollte weniger auf der Komplexität von Git liegen, sondern darauf, dass Git für große binäre Assets nicht gut geeignet ist.
    • Ein Zitat von Linus Torvalds dazu, dass Git mit großen Dateien nicht gut umgeht.
  • it was built for a very different world in 2005 (slow networks, much smaller projects, no cloud)

    • Git wurde 2005 für eine ganz andere Welt entworfen: langsame Netzwerke, kleinere Projekte und keine Cloud.
    • Da Git verteilt ist, sollte es auch in Cloud-Umgebungen gut funktionieren.
    • Dass ein Data Scientist mit einem falschen Git-Befehl die Arbeit eines Monats zerstört hat, wirkt wie ein Konfigurationsproblem.
  • In our previous startup, a data scientist accidentally destroyed a month’s work of his team by using the wrong Git command

    • Statt Git zu kritisieren, sollte man sich stärker auf das eigene Produkt konzentrieren.
    • Git ist ein verteiltes VCS, und das Problem ist der Versuch, es ohne Backups zentralisiert zu verwenden.
  • git is bad we're better

    • Als Spieleentwickler besteht wenig Interesse an dem vorgeschlagenen Angebot.
    • Moderne Workflows mit Git LFS funktionieren reibungslos.
    • Cloud-Native wird als Merkmal genannt, aber Details zur Unterstützung von On-Premise und selbst gehosteten Private Clouds fehlen.
    • Die Präferenz von Künstlern für Dateisperren und die Schwierigkeit, Sperren mit P4-Streams und Branches zu nutzen.
  • File locking across branches - coming soon!

    • Die Funktion für Dateisperren über Branches hinweg soll bald erscheinen, aber das Angebot muss noch verbessert werden.
  • Git cli UX made be not great, but the git datastructure of representing commits, branches, trees and blobs as immutable pointers and merkle trees is a phenomenal invention.

    • Die Datenstruktur von Git ist eine erstaunliche Erfindung, aber es besteht keine Zustimmung dazu, dass alle Befehle über eine REST API laufen sollen.
    • Die Stärke von Git liegt darin, dass man auch offline mit partiellen Klonen arbeiten und Commits synchronisieren kann, sobald man wieder online ist.
  • In our previous startup, a data scientist accidentally destroyed a month’s work of his team by using the wrong Git command.

    • Es wird anerkannt, dass die Usability von Git verbessert werden muss, aber das aufgetretene Problem wirkt wie ein Versagen im DevOps-Betrieb.
    • Es braucht eine flachere Lernkurve, die Nicht-Programmierern die Vorteile von Source Control näherbringt und gleichzeitig fortgeschrittene Funktionen erhält.
  • The world needs a git alternative.

    • Die Welt braucht eine Alternative zu Git.
    • Git stößt an Grenzen, wenn mehrere Personen täglich in dasselbe Repository committen.
    • Wenn Git besser mit Rebase umgehen könnte, würde sich die Arbeitsgeschwindigkeit von Softwareentwicklungsteams voraussichtlich um 20 % erhöhen.
  • I get that enterprises will buy anything with "Cloud" or "AI" in the name, but VCS doesn't have anything to do with the cloud.

    • Es gibt die Wahrnehmung, dass Unternehmen alles kaufen, wenn "Cloud" oder "AI" im Namen steht.
    • Es ist wichtig, sich auf die Lösung von Problemen statt auf Technologie zu konzentrieren.
    • Wenn die User Experience schlecht ist, sind technische Details bedeutungslos.
    • Es braucht eine Vertriebsstrategie für ein Produkt, das Entwicklungszeit verkürzt, Fehler reduziert und die Zusammenarbeit verbessert.