Microsoft và GitHub hợp tác đưa hệ thống file ảo Git lên macOS và Linux

Một trong những tin thú vị vài năm qua là Microsoft tuyên bố sẽ dùng hệ thống kiểm soát phiên bản Git cho việc phát triển Windows. Microsoft phải chỉnh sửa Git để xử lý yêu cầu này nhưng các chỉnh sửa này phải được chấp thuận và tích hợp vào phần mềm client Git chuẩn.

Kế hoạch này dường như đang tiến triển tốt khi mới đây họ tuyên bố GitHub đã chấp thuận các điều chỉnh này và 2 bên đang hợp tác đưa phần mềm client lên macOS và Linux.

Microsoft muốn chuyển sang Git bởi các đặc điểm của nó cũng như do Git được nhiều nhà lập trình sử dụng. Dù vậy, việc chuyển đổi này đối mặt với vài vấn đề. Git không được thiết kế cho nhiều nhà phát triển như vậy - hơn 3000 người làm việc trên codebase. NGoài ra, Git cũng không được thiết kế cho codebase lớn như vậy, với số lượng file, lịch sử chỉnh sửa mỗi file hay kích thước tới hơn 300GB. Khi dùng Git, làm việc với kho nguồn mở rất chậm, các thao tác thông thường như kiểm tra tập tin nào đã chỉnh sửa chẳng hạn, cũng mất vài phút.

Hệ thống tập tin Git hiện được nhiều nhà phát triển sử dụng
Hệ thống tập tin Git hiện được nhiều nhà phát triển sử dụng

Giải pháp của họ là phát triển một hệ thống tập tin Git ảo gọi là GVFS - Git Virtual File System - bản sao chép local của kho Git và được ảo hóa, chứa dữ liệu và tập tin mã nguồn đã được dùng trước đó. Microsoft đã điều chỉnh Git để xử lý hệ thống tập tin ảo này. Khi đó phần mềm client sẽ không cố lấy tập tin không khả dụng trên máy local, ngoài ra cũng sẽ có giao thức chuyển file mới để chọn tập tin trên kho từ xa.

Về nội bộ thì việc này đã được chứng minh thành công khi việc phát triển Windows đã chuyển sang Git từ tháng 5 năm nay nhưng với cộng đồng Git thì sao?

Microsoft nói hiện giờ 1 nửa số thay đổi đã được các nhà phát triển Git chấp thuận, họ cũng sẵn sàng thay đổi để đáp ứng nhu cầu. Nhưng khó khăn nhất là Git rất khó tương thích, yêu cầu kho phải tương thích trên tất cả các phiên bản.

Còn việc GitHub tham gia là do họ muốn giải quyết nhu cầu của doanh nghiệp. Một số ngành có kho lớn và gặp vấn đề khi dùng Git, ví dụ như kho game lớn không phải do tập tin hay lịch sử chỉnh sửa mà bởi đồ họa và các tài sản khác. Khi đó những gì Microsoft đang làm với Git sẽ rất có ích. Chính Microsoft cũng muốn chuyển sang Git thay vì TFS (Team Foundation Server).

Microsoft và GitHub cũng dự định đưa lên các nền tảng khác, trước là macOS, sau là Linux. Cách hiển nhiên nhất là dùng FUSE, một công cụ để xây dựng hệ thống tập tin chạy trên chế độ người dùng thay vì kernel (vì như vậy dễ và an toàn hơn). Họ cũng biết rằng FUSE không đủ nhanh - Dropbox với dự án Infinite là một bài học, nên hiện tại, đưa lên macOS với cơ chế Kauth (KAuth) là cách tốt nhất.

Xem thêm: Bạn đã biết 15 ngôn ngữ lập trình hot nhất trên GitHub này chưa?

Thứ Bảy, 18/11/2017 16:02
31 👨 387
0 Bình luận
Sắp xếp theo