Launch HN: Diversion (YC S22), alternatif Git yang cloud-native
(news.ycombinator.com)- Diversion adalah sistem kontrol versi yang ditujukan untuk repositori skala besar dan kolaborasi di era cloud, dengan pengguna awal berupa para pengembang game yang menginginkan kesederhanaan dan skalabilitas
- Git dibuat untuk lingkungan tahun 2005 dengan jaringan lambat, proyek kecil, dan tanpa cloud, sehingga dinilai memiliki keterbatasan pada ukuran repositori, ukuran file, dan skala pengguna bersamaan saat ini
- Sistem kontrol versi internal milik Google dan Meta, serta penggunaan SVN dan Perforce oleh sebagian perusahaan di bidang pengembangan game, semikonduktor, dan layanan keuangan, digunakan sebagai bukti bahwa Git tidak cocok untuk semua organisasi
- Diversion menangani operasi repositori seperti commit, branch, dan merge sebagai panggilan API di atas storage terdistribusi, database, REST API, dan infrastruktur cloud serverless
- Saat ini tersedia dalam beta terbuka, tim kecil bisa memulai secara gratis, dan peningkatan pada kecepatan, integrasi CI, plugin IDE dan game engine, serta kegunaan sedang berlangsung
Keterbatasan Git yang menjadi sasaran Diversion
- Diversion adalah sistem kontrol versi cloud-native yang tersedia di diversion.dev
- Demo singkat tersedia dalam video YouTube
- Pengguna awalnya adalah pengembang game, yang menilai kesederhanaan dan skalabilitas sebagai keunggulan
- Git telah memainkan peran besar dalam perkembangan pengembangan software selama 18 tahun terakhir, tetapi karena dibuat untuk lingkungan tahun 2005, Git bukan alat yang sempurna untuk semua pengguna
- Kekurangan terbesarnya adalah skalabilitas yang terbatas, yang terlihat pada ukuran repositori, ukuran file, dan jumlah pengguna bersamaan
- Karena alasan ini, Google dan Meta membuat sistem kontrol versi mereka sendiri
- Sejumlah perusahaan besar di bidang pengembangan game, semikonduktor, dan layanan keuangan masih terus menggunakan alat legacy seperti SVN dan Perforce
- Kompleksitas Git juga bisa berujung pada hilangnya pekerjaan nyata
- Di startup sebelumnya, pernah ada kasus seorang data scientist menggunakan perintah Git yang salah dan menyebabkan tim kehilangan pekerjaan selama sebulan
- Beberapa jam kemudian, pekerjaan itu bisa dipulihkan dari clone repositori yang belum diperbarui
- Meski begitu, fitur branch dan merge di Git sangat berkontribusi pada cara pengembangan modern seperti feature branch dan CI/CD, serta peningkatan kecepatan kerja developer
Cara kerja berbasis cloud
- Diversion bertujuan menjadi sistem kontrol versi yang mempertahankan fitur branch Git, tetapi lebih mudah, lebih cepat, dan lebih skalabel
- Diversion menerapkan konsep kolaborasi real-time dari alat cloud modern ke dalam kontrol versi
- Seperti Google Docs dan Figma, status pekerjaan yang sedang berlangsung bisa dibagikan
- Developer mungkin tidak selalu ingin membuka pekerjaan yang sedang dikerjakan, tetapi ini bisa berguna untuk menerima feedback sebelum commit, mendeteksi dan mencegah merge conflict, atau melihat bagian mana dari codebase yang sedang diubah orang lain
- Struktur internalnya berbasis storage terdistribusi dan database, REST API, serta infrastruktur cloud serverless
- Semua operasi repositori seperti API call untuk commit, branch, dan merge diproses melalui API
- Klien desktop menyinkronkan secara real-time ke cloud, termasuk status pekerjaan yang masih berlangsung sebelum commit
- Pengguna dapat mengaksesnya melalui CLI interaktif, Web UI, dan plugin IDE
- Saat ini plugin IDE mendukung JetBrains, dan dukungan tambahan akan menyusul
- Web UI memungkinkan sebagian besar pekerjaan dasar dilakukan tanpa memasang klien desktop
- Kompatibel dengan Git dan dapat disinkronkan dengan repositori Git yang sudah ada
- Commit baru di Diversion masuk ke Git, dan commit baru di Git juga masuk ke Diversion
Rencana publikasi dan syarat penggunaan beta
- Ada rencana untuk merilisnya sebagai open source ketika codebase sudah matang dan direktori repositori open source di situs web sudah diimplementasikan
- Kode Diversion sendiri juga dikelola di Diversion
- Saat ini dapat digunakan dalam beta terbuka, dan bisa dimulai secara self-service dengan menekan Get Started
- Dapat digunakan tanpa perlu berbicara dengan siapa pun
- Gratis untuk tim kecil, dan informasi harga tersedia di pricing
- Peningkatan yang sedang dikerjakan mencakup kecepatan, integrasi CI, plugin IDE dan game engine, serta peningkatan kegunaan lainnya
1 komentar
Komentar Hacker News