1 điểm bởi GN⁺ 2024-01-23 | 1 bình luận | Chia sẻ qua WhatsApp
  • Giới thiệu Diversion, một hệ thống quản lý phiên bản mới

    • Sasha và Egal đang phát triển Diversion, một hệ thống quản lý phiên bản hiện đại dựa trên đám mây.
    • Những người dùng đầu tiên là các nhà phát triển game, và họ yêu thích sự đơn giản cùng khả năng mở rộng của Diversion.
    • Có thể xem bản demo nhanh tại đây: liên kết demo
  • Giới hạn của Git và nhu cầu về một VCS mới

    • Git đã thúc đẩy mạnh mẽ sự phát triển phần mềm, nhưng nó được thiết kế cho bối cảnh năm 2005 (mạng chậm, dự án nhỏ, chưa dùng đám mây), nên không còn là công cụ hoàn hảo cho mọi người ngày nay.
    • Nhược điểm lớn nhất của Git là khả năng mở rộng còn hạn chế đối với kích thước kho mã và tệp, cũng như số lượng người dùng đồng thời.
    • Đây là lý do Google và Meta xây dựng hệ thống quản lý phiên bản riêng, đồng thời cũng là lý do các doanh nghiệp lớn trong phát triển game, bán dẫn, dịch vụ tài chính vẫn sử dụng các công cụ legacy như SVN và Perforce.
  • Giải quyết độ phức tạp của Git và tích hợp các tính năng hiện đại

    • Mục tiêu là giải quyết các vấn đề phát sinh từ độ phức tạp của Git.
    • Khả năng phân nhánh và hợp nhất xuất sắc của Git đã đóng góp rất lớn cho các phương pháp phát triển phần mềm hiện đại.
    • Nhóm phát triển đang suy nghĩ về việc liệu có thể tạo ra một hệ thống quản lý phiên bản dễ dùng, nhanh và có khả năng mở rộng, đồng thời giữ lại khả năng phân nhánh của Git nhưng cải thiện những điểm còn hạn chế hay không.
  • Đặc điểm của Diversion và trải nghiệm người dùng

    • Diversion được xây dựng trên storage phân tán và cơ sở dữ liệu, có thể truy cập qua REST API, và chạy trên hạ tầng đám mây serverless.
    • Mọi thao tác với kho mã đều được thực hiện thông qua các lệnh gọi API (commit, branch, merge, v.v.).
    • Ứng dụng desktop đồng bộ hóa theo thời gian thực mọi nội dung đang làm việc với đám mây, kể cả trước khi commit.
    • Người dùng có thể sử dụng Diversion qua CLI tương tác, web UI và plugin IDE (hiện hỗ trợ JetBrains, sẽ sớm có thêm).
    • Thông qua web UI, người dùng có thể thực hiện các tác vụ cơ bản mà không cần cài ứng dụng desktop.
  • Khả năng tương thích với Git và kế hoạch mã nguồn mở

    • Diversion tương thích với Git và có thể đồng bộ với các kho Git hiện có (các commit mới trong Diversion sẽ được phản ánh sang Git và ngược lại).
    • Khi codebase đủ trưởng thành và nhóm triển khai xong thư mục kho mã nguồn mở trên website, họ có kế hoạch phát hành mã nguồn mở (mã của Diversion cũng được quản lý bằng Diversion).
  • Open beta và khả năng sử dụng miễn phí

    • Diversion hiện đang ở trạng thái open beta và có thể dùng thử tại đây: website Diversion (nhấp vào Get Started).
    • Hoàn toàn tự phục vụ và miễn phí cho các nhóm nhỏ.
  • Các tính năng đang phát triển và lời kêu gọi phản hồi

    • Xây dựng một hệ thống quản lý phiên bản là việc khó, và Diversion vẫn còn một chặng đường dài phía trước.
    • Hiện nhóm đang tập trung vào việc tăng tốc độ, tích hợp CI, phát triển plugin cho IDE và game engine, cùng các cải tiến khác về tính tiện dụng.
    • Họ muốn lắng nghe ý kiến và phản hồi về tiến độ đạt được cho tới nay.

Ý kiến của GN⁺

  • Diversion là một hệ thống quản lý phiên bản hiện đại dựa trên đám mây, và điều quan trọng là nó nhắm tới việc giải quyết vấn đề về khả năng mở rộng và độ phức tạp của Git.
  • Các tính năng như cộng tác thời gian thực, xử lý tác vụ dựa trên API và khả năng tương thích với Git có thể là những điểm hấp dẫn đối với các nhà phát triển.
  • Việc cung cấp open beta và sử dụng miễn phí tạo cơ hội tốt để nhiều nhà phát triển thử nghiệm công cụ mới, điều này sẽ giúp Diversion tăng trưởng và cải thiện nhanh hơn.

1 bình luận

 
GN⁺ 2024-01-23
Ý kiến Hacker News
  • Cloud-Native Git Alternative

    • Cloud-native là chi tiết triển khai, và không quan trọng trừ khi bạn định bán một hệ thống quản lý phiên bản (VCS) mới dưới dạng phần mềm đóng gói thay vì dịch vụ.
    • Chưa rõ cloud-native giải quyết các vấn đề hằng ngày của người dùng Git như thế nào.
  • The biggest drawback of Git is its limited scalability

    • Thắc mắc về tỷ lệ người dùng thực sự gặp vấn đề mở rộng của Git.
    • Đã từng làm việc ở các công ty có từ hàng trăm đến hàng chục nghìn kỹ sư, nhưng cá nhân chưa bao giờ gặp vấn đề về khả năng mở rộng của Git.
    • Việc dùng monorepo có thể gây ra vấn đề mở rộng, nhưng bản thân monorepo cũng còn gây tranh cãi.
  • 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.).

    • Từ góc nhìn người dùng, ít ai quan tâm đến giao thức nội bộ.
    • Khi dùng CLI hay UI, giao thức bên dưới không quan trọng.
    • Tò mò về một VCS dựa trên cây cú pháp trừu tượng (AST).
  • most notably in games development, semiconductors and financial services are still using legacy tools like SVN and Perforce

    • Nên tập trung vào việc Git không phù hợp để xử lý tài sản nhị phân quy mô lớn hơn là sự phức tạp của Git.
    • Trích dẫn của Linus Torvalds về việc Git không xử lý tốt các tệp lớn.
  • it was built for a very different world in 2005 (slow networks, much smaller projects, no cloud)

    • Git được thiết kế trong bối cảnh năm 2005, khi mạng chậm, dự án nhỏ hơn nhiều và chưa có cloud.
    • Vì Git là hệ thống phân tán nên lẽ ra nó vẫn phải hoạt động tốt trong môi trường cloud.
    • Việc một data scientist phá hỏng một tháng làm việc bằng lệnh Git sai có vẻ là vấn đề cấu hình.
  • In our previous startup, a data scientist accidentally destroyed a month’s work of his team by using the wrong Git command

    • Nên tập trung vào sản phẩm của mình thay vì chỉ trích Git.
    • Git là VCS phân tán, và vấn đề nằm ở nỗ lực dùng nó theo kiểu tập trung mà không có backup.
  • git is bad we're better

    • Với tư cách là game developer, không thấy hứng thú với đề xuất được đưa ra.
    • Workflow hiện đại với Git LFS đang vận hành trơn tru.
    • Cloud-native được nêu như một tính năng, nhưng lại thiếu chi tiết về hỗ trợ on-premise và private cloud tự host.
    • Artist thích tính năng khóa tệp, còn việc dùng khóa với P4 streams và branch thì khá khó khăn.
  • File locking across branches - coming soon!

    • Tính năng khóa tệp giữa các branch sẽ sớm ra mắt, nhưng đề xuất này vẫn cần cải thiện thêm.
  • 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.

    • Cấu trúc dữ liệu của Git là một phát minh đáng kinh ngạc, nhưng không đồng tình với việc mọi lệnh đều phải đi qua REST API.
    • Điểm mạnh của Git là có thể làm việc offline với partial clone, rồi đồng bộ commit khi trực tuyến trở lại.
  • In our previous startup, a data scientist accidentally destroyed a month’s work of his team by using the wrong Git command.

    • Thừa nhận Git cần cải thiện về tính dễ dùng, nhưng sự cố này có vẻ là thất bại trong vận hành phát triển.
    • Cần một đường cong học tập dễ hơn để giới thiệu lợi ích của source control cho người không biết code, trong khi vẫn giữ được các tính năng nâng cao.
  • The world needs a git alternative.

    • Thế giới cần một giải pháp thay thế Git.
    • Git có giới hạn khi nhiều người cùng commit vào một repository mỗi ngày.
    • Nếu Git xử lý rebase tốt hơn, tốc độ làm việc của các nhóm phát triển phần mềm có thể tăng 20%.
  • 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.

    • Có quan điểm rằng doanh nghiệp sẽ mua bất cứ thứ gì có chữ "Cloud" hoặc "AI" trong tên.
    • Quan trọng là tập trung vào giải quyết vấn đề thay vì công nghệ.
    • Nếu trải nghiệm người dùng không tốt thì chi tiết kỹ thuật cũng vô nghĩa.
    • Cần chiến lược bán hàng cho một sản phẩm mang lại trải nghiệm giúp rút ngắn thời gian phát triển, giảm lỗi và cải thiện cộng tác.