2010-04-17 28 views
7

Tôi đã sử dụng SVN từ rất lâu và bây giờ chúng tôi đang thử trên Git. Tôi không nói về cuộc tranh luận tập trung/phi tập trung ở đây. Mối quan tâm duy nhất của tôi là tốc độ.Có bất kỳ điều khiển phiên bản tập trung nhanh hơn SVN tồn tại không?

Công cụ sau sẽ nhanh hơn nhiều. Nhưng đôi khi, tôi CẦN làm việc với một cách tiếp cận tập trung, đơn giản hơn và ít phức tạp hơn so với cách phân cấp. Đường cong học tập thực sự nhanh, tiết kiệm rất nhiều thời gian (trong khi đào vào phi tập trung sẽ dẫn đến lãng phí thời gian, do đường cong học tập dài hơn và chúng tôi gặp phải nhiều vấn đề hơn khi làm việc với nó).

Tuy nhiên, SVN thực sự chậm so với GIT và tôi không nghĩ rằng nó có liên quan gì đến đối số tập trung. Các hệ thống phân cấp cũng phải đối phó với các kết nối máy chủ và chuyển tập tin. Vì vậy, tôi có thể dễ dàng tưởng tượng việc triển khai kiểm soát phiên bản tập trung nhanh hơn có thể tồn tại.

Có ai có bất kỳ đầu mối nào về điều này không?

Trả lời

5

Một CVCS (trung Version Control System) Tôi biết là nhanh hơn nhiều so với SVN không phải là một phần mềm miễn phí một:

Perforce

tôi chi tiết cực chẳng đả trong SO answer này.

Perforce diagram

Bạn có thể thấy một comparison between Perforce and Subversion in this document.
Hỗ trợ hợp nhất của nó đặc biệt hiệu quả hơn nhiều.

+0

Hoàn toàn đồng ý rằng p4 nhanh hơn nhiều. Tuy nhiên, nhược điểm là tôi thấy sự thiếu hụt dễ sử dụng của nó; tại nơi làm việc, chúng tôi có các nhà phát triển sử dụng git-p4 như một vấn đề giảm đau. –

+0

Vâng, điều đó sẽ không làm cho tôi sử dụng nó (đó là thương mại: p), nhưng điều đó thực sự xác nhận sự tò mò của tôi và chính xác là loại câu trả lời tôi đang chờ đợi. Tôi không biết công cụ này, cảm ơn. Có vẻ như nền tảng tuân thủ (Win/Max/Linux) và tích hợp bên trong trình khám phá của từng hệ điều hành này. Thật sự thú vị! :) – Savageman

0

Git rất linh hoạt và hoạt động tốt trong sắp xếp tập trung. Trên một máy chủ ở đâu đó, tạo ra một "trần" kho với một cái gì đó như:

mkdir repo 
cd repo 
git init --bare --shared 

Sau đó đẩy kho của bạn vào một trần trên máy chủ, và gọi đó là một trong những "trung tâm" repo.

+1

Điều đó không giải quyết được sự cố phức tạp. Với SVN bạn không thể làm điều đó sai. Mọi người chỉ cần biết 3 lệnh: checkout (họ chỉ sử dụng nó một lần), commit và update. Nó chỉ hoạt động. Điều duy nhất bạn có thể làm sai là quên cập nhật ... Git phức tạp hơn nhiều và cơ hội gây rối với thứ gì đó quá cao.Không có sự kết hợp tự động giữa cục bộ và điều khiển từ xa. Và nếu cái gì đó có thể sai, nó S W. – Savageman

+1

@Savageman: Tôi hy vọng tôi sẽ không trở thành một nhà tài giỏi ở đây, nhưng IMO nếu các lập trình viên không đủ thông minh để sử dụng một hệ thống như Git mà không làm rối tung thứ gì đó, sau đó tôi đặt câu hỏi liệu họ có đủ thông minh để làm việc với phần mềm không . –

+0

@Savageman - Ngẫu nhiên, không phải tất cả DSCM đều có đường cong học tập như git; đó là một chút độc đáo về chỉ cần bao nhiêu nội bộ của nó cần phải được hiểu chỉ để đọc tài liệu hướng dẫn. Không phải để nói rằng không có lợi thế để tiếp cận này - nhưng nó là một chút của một turnoff lúc đầu tiên. –

1

Git hỗ trợ nhiều cấu trúc liên kết, bao gồm phương pháp CVS/SVN tập trung. Có một số tùy chọn:

  1. Cung cấp kho lưu trữ được chia sẻ trung tâm qua ssh. gitosis giúp việc này dễ dàng hơn.
  2. Sử dụng github tài khoản cá nhân.
  3. Sử dụng sản phẩm máy chủ thương mại của github, github:fi trong trung tâm dữ liệu của riêng bạn.
+0

Vâng, tôi đoán tôi không nên đưa ra ví dụ Git. Hãy tưởng tượng bạn cần giải thích cách sử dụng loại công cụ này cho những người chỉ biết Microsoft Word và cách tìm kiếm google. – Savageman

+1

@Savageman, Marcelo - vì chúng tôi đang đi chủ đề kiểm soát sửa đổi tập trung nhanh hơn (mà Perforce thực sự là công cụ được chấp nhận rộng rãi), tôi nghĩ bzr là một lựa chọn tốt hơn git trong việc đưa ra loại đối số này, ít nhất là folks đang tìm kiếm trải nghiệm người dùng thân thiện với người dùng mới - nó có thể được sử dụng chính xác giống như svn (checkout/Update/commit) * hoặc * trong một chế độ phân phối đầy đủ (clone/push/pull/etc). Git * có thể * được sử dụng với bất kỳ luồng công việc nào, nhưng chắc chắn nó cảm thấy một chút ý kiến ​​về việc nó được xây dựng cho nó, và không cung cấp các lệnh thay thế cụ thể cho luồng công việc. –

+0

Về những gì bạn nói, tôi nghĩ bzr có thể là một giải pháp tốt ở đây. Câu hỏi đặt ra là: nó có thực sự nhanh hơn SVN không? Bzr có danh tiếng là một trong những DCVS chậm nhất ở đây (git, hg). – Savageman

1

Điều gì khiến SVN chậm là cách nó xử lý các bản sao làm việc. Hàng ngàn tập tin được chạm và viết.

Bạn có thể thử Bazaar (bzr) vì nó hỗ trợ quy trình công việc (nhưng tôi không biết nếu nó thực sự nhanh hơn) hay đợi SVN 1.7 với WC-NG và siêu dữ liệu tập trung. SVN 1.7 được lên kế hoạch cho mùa hè này, nhưng cũng có thể được hoàn thành sau đó.

Các vấn đề liên quan