SVN trong Eclipse được lan truyền thành hai phe. Người SVN đã phát triển một plugin có tên Subclipse . Người Eclipse có một plugin gọi là Subversive . Nói rộng ra cả hai đều làm những việc giống nhau. Những lợi thế và bất lợi của mỗi là gì?
SVN trong Eclipse được lan truyền thành hai phe. Người SVN đã phát triển một plugin có tên Subclipse . Người Eclipse có một plugin gọi là Subversive . Nói rộng ra cả hai đều làm những việc giống nhau. Những lợi thế và bất lợi của mỗi là gì?
Câu trả lời:
Cả hai đều rất giống nhau nhưng Subversive là "nhà cung cấp svn nhật thực". Tôi chủ yếu sử dụng Subversive vì một vài tính năng tiện lợi:
Nhóm lịch sử
Khi tôi duyệt lịch sử của một chi nhánh thay vì chỉ nhìn thấy một loạt các hàng cho mỗi cam kết, nó có thể nhóm các cam kết vào hôm nay, tuần, v.v.
Ánh xạ của thân cây, cành cây và thẻ
Subversive giả định bố cục svn mặc định: thân cây, nhánh, thẻ (mà bạn có thể thay đổi), vì vậy bất cứ khi nào bạn muốn gắn thẻ hoặc nhánh, chỉ cần một cú nhấp chuột và bạn cung cấp tên của thẻ hoặc nhánh.
Giống như tôi đã nói đây là những khác biệt nhỏ mà tôi chỉ thấy thuận tiện. Cả hai đều hoạt động tốt với mylyn, nhưng nhìn chung thực sự không có nhiều sự khác biệt với hai phần mở rộng này.
Hợp nhất với Subversive là một nỗi đau (chưa thử Subclipse), tôi chưa bao giờ có thể hợp nhất thành công. Bản xem trước của hợp nhất là tuyệt vời nhưng nó sẽ không bao giờ hoàn thành hợp nhất hoặc nó sẽ mất nhiều thời gian. Hầu hết thời gian tôi hoàn thành việc hợp nhất thông qua dòng lệnh mà không có bất kỳ vấn đề nào.
1.0.0.I20120601-1700
) và mã hợp nhất không thể dễ dàng hơn nữa.
Tôi sẽ có một vết nứt khi trả lời này. Tôi là trưởng dự án cho Subclipse và tôi quản lý tất cả các bản phát hành, v.v. cho dự án. Vì vậy, sự thiên vị của tôi là rõ ràng.
Tôi sẽ không nói quá nhiều về Subversive. Rõ ràng, có những người dùng sử dụng nó và thích nó. Về mặt chức năng các sản phẩm rất giống nhau vì cả hai đều là sản phẩm trưởng thành.
Một điều tôi muốn bình luận là khái niệm này bằng cách nào đó Subversive là plugin "Eclipse chính thức". Điều đó không đúng, vì không có chỉ định như vậy. Eclipse là một nền tảng nguồn mở và bất kỳ dự án nào muốn tuân theo các quy tắc, quy trình và yêu cầu IP của họ, v.v. đều có thể lưu trữ dự án của họ với nền tảng. Điều đó không làm cho bạn trở nên chính thức hơn hoặc ít hơn bất kỳ plugin nào khác.
Tôi cũng sẽ lưu ý rằng Subversive vẫn ở trong giai đoạn "Ươm mầm" kể từ khi thành lập, và tôi không nhận ra rằng nó sẽ đáp ứng các yêu cầu để tốt nghiệp. Như bạn có thể thấy ở đây, chỉ có một người đi làm trong dự án và hoạt động cam kết đã giảm xuống mức rất thấp.
Phá hoại - Nhà cung cấp nhóm SVN
Vậy tại sao bạn nên sử dụng Subclipse? Chúng tôi đang tích cực tham gia với chính Subversion. Tôi là thành viên Subversion PMC và giúp duy trì các ràng buộc ngôn ngữ Java để chúng tôi (và các dự án khác như Subversive) có thể sử dụng API.
Chúng tôi làm việc trực tiếp với Subversion để xác định và cải thiện API và đảm bảo các tính năng cần thiết được hiển thị cho các máy khách như Subclipse. Chúng tôi cũng hợp tác chặt chẽ và hợp tác với các nhóm tích hợp Visual Studio ( AnkhSVN ) và rùaSVN để đảm bảo có trải nghiệm người dùng tương đối nhất quán giữa các khách hàng.
Subclipse vẫn được duy trì tích cực và chúng tôi duy trì hỗ trợ cho các phiên bản Eclipse 3.2 đến 4.2. Chúng tôi luôn cố gắng lắng nghe phản hồi và kết hợp các ý tưởng từ cộng đồng. Các bản phát hành 1.8.x gần đây bao gồm các thay đổi bên trong giúp cải thiện đáng kể hiệu năng của Eclipse khi làm việc với các dự án lớn (đó là khi bạn thực sự thấy nó).
Subclipse đã dẫn đầu trong các lĩnh vực như hỗ trợ theo dõi hợp nhất, nơi chúng tôi đã làm việc chặt chẽ với nhóm Subversion trong lần đầu tiên thêm tính năng này vào 1.5 và sau đó phát triển nó trong các bản phát hành tiếp theo. Chúng tôi thường là những người tiêu dùng ban đầu của API mới và cung cấp cho dự án những phản hồi cần thiết để làm cứng tính năng này. Chúng tôi cũng đã giới thiệu một tính năng đồ thị sửa đổi đồ họa một vài năm trước đây, trở thành người đầu tiên mang tính năng được yêu cầu lâu này cho người dùng Eclipse.
Nếu có các tính năng UI cụ thể trong Subversive mà mọi người muốn thấy được thực hiện trong Subclipse, tôi sẽ khuyến khích bạn truy cập vào cộng đồng của chúng tôi và tham gia vào các diễn đàn thảo luận của chúng tôi. Có thể những người dùng khác chia sẻ quan điểm của bạn và chúng tôi có thể cải thiện giao diện người dùng cùng nhau.
Diễn đàn [Subclipse-users] .
Eclipse 4.2 là bản phát hành mới nhất tại thời điểm của bài đăng này, nhưng có thể giả định rằng Subclipse sẽ hỗ trợ tất cả các bản phát hành Eclipse trong tương lai khi chúng được tạo ra.
Với mỗi phiên bản mới của Eclipse, tôi cài đặt Subversive, vì đó là tiêu chuẩn do Eclipse cung cấp. Và mỗi lần, nó có vấn đề khi nhận ra các dự án đã có từ trước của tôi.
Vì vậy, cuối cùng tôi gỡ cài đặt Subversive và cài đặt Subclipse, hoạt động tuyệt vời. Tôi cũng thường xuyên sử dụng SVN từ dòng lệnh cũng như trong Eclipse và Subclipse không có vấn đề gì với điều này.
Sau khi đọc bài đăng này, tôi đổi sang Subclipse xuống tay.
http://eclipsezone.com/eclipse/forums/t77149.rhtml#92035407
Nếu bạn thực hiện nhiều việc hợp nhất với Subversion thì có lẽ bạn sẽ thích CollabNet Desktop - Phiên bản Eclipse. Bạn phải đăng ký tài khoản với CollabNet để tải xuống, nhưng nó miễn phí. Nó thực chất là Subclipse với giao diện người dùng hợp nhất tốt hơn.
Tôi không liên kết với CollabNet.
CollabNet đã cung cấp ứng dụng khách hợp nhất được cải thiện của họ cho những người dùng chưa đăng ký Subclipse. Bạn có được nó bằng cách chọn tính năng CollabNet Merge Client khi cài đặt Subclipse từ trang cập nhật.
Tôi sẽ nói Subclipse, vì tôi thậm chí không thể làm việc lật đổ;)
Tôi thực sự nghĩ rằng cả hai loại hút. Theo tôi, sử dụng TortoiseSVN là một giải pháp tốt hơn nhiều. Nó mạnh mẽ hơn nhiều và có xu hướng chỉ hoạt động tốt hơn và tôi luôn gặp vấn đề về tích hợp với Subclipse và Subversive.
Cả hai đều có mụn cóc khá khủng khiếp, nhưng tôi không thể khiến Subversive làm việc với một dự án mà tôi đã kiểm tra từ dòng lệnh, và đó là một điểm dừng cho tôi.
Tôi đã thử cả hai , và cả Subclipse và Subversive đều khủng khiếp. Cả hai đều là thử thách để cài đặt. Nếu bạn sử dụng Subversive, bạn không thể sử dụng máy khách SVN bên ngoài .
Tuy nhiên, bạn cần cài đặt máy khách SVN trong Eclipse để theo dõi các thay đổi và cũng không làm hỏng kho lưu trữ cục bộ của bạn.
Tôi đã cài đặt Subclipse , nhưng sử dụng TortoiseSVN để thực sự thực hiện việc gắn / gắn thẻ / phân nhánh / hợp nhất.
Subclipse, bởi vì ít nhất nó hoạt động.
Lật đổ đã là một xô thất bại cho tôi cho đến nay. Nó sẽ không hoạt động tốt với tất cả các dự án cũ của tôi mà tôi đã kiểm tra với Subclipse.
Chắc chắn cả hai plugin IDE đều có vấn đề. Nhưng không loại trừ việc sử dụng song song các giải pháp khác như TortoiseSVN hoặc dòng lệnh. Tôi sử dụng cả ba cho các dự án của tôi tại nơi làm việc.
Điều quan trọng cần nhớ là tất cả phần mềm SVN của khách hàng của bạn nên sử dụng cùng định dạng tệp SVN - khác nhau giữa các phiên bản của SVN - hoặc bạn đang yêu cầu sự cố.
Một vấn đề khác mà chúng tôi tìm thấy là khi phần mềm máy khách của bạn sử dụng định dạng tệp SVN khác với máy chủ. (Theo định dạng tệp, ý tôi là cách tất cả thông tin được thể hiện trong tất cả các tệp .svn dường như vô hình đó ghi lại hiệu quả những gì SVN cần biết về các tệp dự án của bạn.) Điều đó có thể tàn phá. Có một lỗi được ghi lại giữa 1,5 máy chủ và 1.6 máy khách, nhưng tôi không thể tìm thấy liên kết ngay bây giờ.
Chúng tôi đã gặp sự cố khi chạy plugin Subclipse 1.6 (IMO) vượt trội do không tương thích với máy chủ SVN 1.5.5 của chúng tôi. Vì vậy, chúng tôi trở lại lật đổ. Nó hoạt động tốt, mặc dù chậm và hơi lỗi (nhưng cải thiện). Tuy nhiên, chúng tôi sẽ chuyển sang Subclipse khi máy chủ của chúng tôi được cập nhật. Và vâng, chúng tôi kiểm tra các dự án của chúng tôi với TortoiseSVN và nhập chúng vào Eclipse (nhanh hơn).
Chúng tôi thấy rằng, như các áp phích khác đã nói ở đây, nó sẽ KHÔNG hoạt động nếu chúng tôi chạy các phiên bản mới hơn của TortoiseSVN đã viết các tệp ở định dạng 1.6.x, nhưng khi chúng tôi trở lại TortoiseSVN 1.5.x, nó vẫn hoạt động tốt. Điều tương tự cũng đúng với máy khách dòng lệnh (mà chúng ta tận dụng với các tác vụ Ant ).
Chỉ là một bản cập nhật. Gần đây tôi đã cài đặt lại Eclipse và phải đối mặt với sự lựa chọn Subclipse vs Subversive. Tôi cũng đã chia sẻ những rắc rối của mình khi cố gắng để Subversive hoạt động nên tôi đã đi Subclipse.
Nó được cài đặt hoàn hảo trên máy Linux 64 bit của tôi và đang chạy tốt. Tôi đã ánh xạ hầu hết các chức năng phổ biến như Cập nhật, Cam kết, .. đến các phím tắt và đó là một vụ nổ. Việc hợp nhất cũng tốt, mặc dù để hợp nhất lớn hơn, tôi vẫn chuyển sang TortoiseSVN. Tôi đã thử nó với cả 3.5 và 3.6, và cả hai đều hoạt động tốt. Tôi đã kết thúc bằng cách sử dụng 3.5 vì một số lý do ràng buộc khóa không hoạt động với 3.6.
Nếu bạn đang sử dụng svn + ssh làm giao thức để truy cập kho lưu trữ của mình, tôi khuyên bạn nên chọn Subclipse: Subversive không đủ thông minh để nhớ thông tin đăng nhập của bạn đúng cách và nhắc bạn nhập tên người dùng và khóa riêng tư mỗi khi bạn cập nhật bản sao làm việc của mình và cả cho mỗi svn-bên ngoài bạn có thể đã thiết lập.
Các tùy chọn "ghi nhớ thông tin" bị phá vỡ trong bối cảnh này và kể từ lần phát hành công khai đầu tiên của Subversive.
Nếu bạn đang sử dụng một trong số chúng trong công ty của mình và thậm chí có thể muốn gói chúng trong các sản phẩm dựa trên Eclipse, cuộc sống của bạn sẽ dễ dàng hơn nhiều với Subclipse, vì nó có sẵn theo Giấy phép Công cộng Eclipse thân thiện với doanh nghiệp.
Mặt khác, cần phải có cái gọi là đầu nối để hoạt động hoàn toàn. Và những người có giấy phép riêng biệt và khác nhau. Vì vậy, bạn có thể kết thúc với hai hoặc ba giấy phép khác nhau chỉ cho chức năng Subversive, trong khi tất cả các trình cắm Eclipse khác chỉ nằm dưới một EPL đó. Đó cũng là lý do tại sao những trình kết nối đó không được lưu trữ tại eclipse.org.
Và đó là lý do tại sao chúng được tải xuống một cách linh hoạt sau khi cài đặt Subversive (điều đó cũng có nghĩa là chỉ đơn giản là phản chiếu trang web cập nhật eclipse.org không cung cấp cho bạn cài đặt ngoại tuyến Subversive có thể sử dụng được trong mạng công ty của bạn).
Cho đến khoảng tháng 5 năm 2008 tôi đã sử dụng Subclipse, nhưng do một số vấn đề với một số dự án, tôi đã chuyển sang Subversive và đang sử dụng nó mà không gặp vấn đề gì. Nếu bạn đang làm một cái gì đó lạ mắt như các bản dựng Buckminster không đầu , thì Subversive chắc chắn là thứ phù hợp.
Nếu bạn sử dụng TortoiseSVN và thường xuyên cập nhật phiên bản, bạn có thể thấy Eclipse bị lật đổ làm mất tất cả thông tin SVN và gây ra một số lỗi đáng sợ.
Lý do là phiên bản mới của TortoiseSVN thêm dữ liệu meta mới mà Eclipse Subversive không hiểu được trừ khi bạn cũng luôn cập nhật các trình kết nối SVN Eclipse của mình.
Tôi thường sử dụng trình kết nối SVNKit, do đó TortoiseSVN 1.5.x sẽ hoạt động với trình kết nối SVNKit Eclipse 1.5.x và TortoiseSVN 1.6.x sẽ hoạt động với trình kết nối SVNKit Eclipse 1.6.x.
Subversive có nhiều ưu điểm hơn Subclipse như được liệt kê dưới đây. Nhưng chỉ một tính năng mà Subversion không có là rất quan trọng trong việc sử dụng các nhánh. Vì vậy, chúng ta phải sử dụng Subclipse .
Ưu điểm lật đổ :
Lợi thế subclipse
+1 Subclipse
-1 lật đổ
Subversive bị lẫn lộn sau khi tái cấu trúc nhỏ và có vấn đề xác nhận như trên.
Môi trường: STS 2.7.2 (dựa trên Galileo)
Đối với tôi không phải là tốt hơn hay tồi tệ hơn, nhưng Subversive là plugin SVN mặc định trong nền tảng Ganymede của Eclipse, vì vậy có khả năng nó được tích hợp tốt hơn với Eclipse.
Như một bổ sung cho câu trả lời của Brendons:
Chúng tôi sử dụng Subversion kể từ phiên bản 1.5.1 và sử dụng Subclipse đầu tiên. Nhưng vì chúng tôi phụ thuộc rất nhiều vào tính năng hợp nhất, chúng tôi đã chuyển sang Subversive, tiện lợi hơn và có tùy chọn Reintegrate riêng biệt trong hộp thoại hợp nhất.
Một lỗi có thể cản trở việc hợp nhất là nếu bạn chọn sửa đổi một cách rõ ràng, thì nó không có bản sửa đổi cuối cùng được liệt kê. Ví dụ: "101-100" không hợp nhất r100 và "100" do đó không hợp nhất bất cứ thứ gì cả. (phiên bản 0.7.5)
Và nó đã sử dụng các chỉ số tương tự như plugin CVS.
Trong khi tôi vừa làm việc với Helios, tôi có một ưu tiên nhỏ cho Subclipse vì hỗ trợ tuyệt vời cho bugtraq
các thuộc tính ( chi tiết tại đây ).
Các Lịch sử xem chương trình một cột riêng (tựa đề bugtraq:label
, hiển thị BUGID
s), và menu ngữ cảnh có một hành động dành riêng cho "Open URL Bug" (liên kết đến bugtraq:url
) - Tôi không thể tìm ra cách để truy cập bất kỳ thông tin này với lật đổ.
Tôi đã sử dụng Subversive kể từ khi tôi nâng cấp lên Ganymede. Tôi sử dụng nó với Eclipse trong Linux (Ubuntu và Fedora Core), Windows XP và Mac OS X.5. Ngoài một số vấn đề về việc Subversion 1.5.1 sử dụng các thư viện bảo mật phù hợp trong Mac OS, tôi không gặp vấn đề gì. Cho rằng nó đã được thông qua như một dự án công nghệ Eclipse, tôi có xu hướng đặt cược của mình vào nó, về mặt hy vọng lâu dài.
Tôi chưa thực sự sử dụng nó, nhưng có vẻ như Subversive hỗ trợ " Kiểm tra dưới dạng ", giống như hỗ trợ CVS tích hợp sẵn.
Giống như, để lấy một dự án từ SVN và có thể chạy nó như một dự án web, người ta có thể làm điều đó trong một lần. Nhưng để có được kết quả tương tự trong Subclipse, tôi chỉ cần kiểm tra các nguồn và chạy:
nhật thực mvn: nhật thực -Dwtpversion = 2.0
Tôi đã sử dụng cả hai và trong khi Subclipse không ổn đối với tôi, Subversive (ít nhất là với phiên bản trước) đã khóa tài khoản của đồng nghiệp của tôi khi anh ta vô tình nhập sai thông tin đăng nhập (đăng nhập mạng được sử dụng để truy cập kho lưu trữ lật đổ ).
Subclipse có xu hướng bị vô tổ chức theo thời gian. Nếu Eclipse không được làm mới thường xuyên, Subclipse dường như mất thông tin theo dõi tệp của nó. Thành thật mà nói, vì tôi có Plugin Easy Explorer , tôi sử dụng Subversive (thỉnh thoảng) cho lịch sử và thay đổi thông tin, nhưng tôi dễ dàng khám phá và sử dụng TortoiseSVN để cam kết và cập nhật các dự án mà tôi biết tôi đã thay đổi gần đây.
Tôi vừa phát hiện ra rằng tôi không thể tìm ra cách xem một thuộc tính khác với Subclipse. Trong Subversive, bạn chọn hai phiên bản trong chế độ xem lịch sử, nhấp chuột phải và chọn so sánh các thuộc tính từ cửa sổ bật lên. Điều này là đủ để tôi gắn bó với Subversive.
Lý do cố gắng chuyển đổi là hành vi lạ của Subversive trên OS X: Một số thao tác tự động được gọi là 'svn update update' đã khiến CPU ở mức bất thường sau mỗi lần chạy 'svn update', luôn mất một thời gian dài khó chịu để hoàn thành.
FWIW, chúng tôi đang sử dụng một phiên bản cũ của máy chủ SVN (1,4 cái gì đó) và tôi dường như nhớ rằng tại một thời điểm, có một bản cập nhật cho Subclipse đã phá vỡ khả năng tương thích ngược và ý chính là "không ai nên sử dụng phiên bản cũ như vậy SVN nào ".
Subversive là người duy nhất dường như có thể xử lý phiên bản cũ hơn. Tôi không thể nhớ các chi tiết, mặc dù, xin lỗi.
Chúng tôi đã cố gắng cả trong đội của chúng tôi.
Do Subclipse (một từ Galileo / Helios) gặp một số khó khăn khi xác thực máy chủ SVN của chúng tôi thông qua VAS, chúng tôi không gặp vấn đề gì ở nơi khác, ví dụ như máy khách TortoiseSVN, trình duyệt (trừ Internet Explorer 7).
Vì vậy, chúng tôi đã cài đặt Subversive
và vấn đề đã được giải quyết.
Lợi thế của Subclipse so với Subversive ... NÓ HOẠT ĐỘNG HOẠT ĐỘNG!
Tôi đã sử dụng Subclipse từ lâu khi phát triển một plugin cộng tác cho Eclipse phụ thuộc vào Subclipse. Phần Subclipse của plugin không bao giờ là vấn đề, mặc dù toàn bộ điều Ant vẫn làm tôi bối rối một chút, nhưng phần hay là bạn không cần phải hiểu phần Ant hoạt động như thế nào để biết cách sử dụng nó.
Tôi đang cố gắng cài đặt PDT ngày hôm nay (là một blog hoàn toàn khác) và sau đó Subversive bởi vì, giống như nhiều người khác, nó được miêu tả là "Plugin SVN Eclipse". Tôi không thể cài đặt bốn trình kết nối cùng một lúc, vì vậy tôi phải cài đặt từng trình kết nối một lần và một lần tôi đã thử chúng và một lần, nó không thể xác thực với máy chủ SVN.
Tôi đang thử PDT và Subversive, vì tôi muốn TIẾT KIỆM thời gian, không dành nhiều hơn cho các vấn đề khác nhau với một plugin.
Tôi đã gỡ cài đặt Subversive, cài đặt Subclipse và kết nối như thế.
Tiết kiệm cho mình thời gian và rắc rối, đi Subclipse từ đầu.
Tôi cũng đã sử dụng cả hai. Tôi gặp vấn đề là tôi có khoảng 150 dự án trên không gian làm việc của mình và Subversive sẽ mất một thời gian dài khi tôi chọn tất cả các plugin và nói "đồng bộ hóa kho lưu trữ". Giao diện người dùng sẽ đóng băng trong một thời gian rất dài. Tôi thấy Subclipse ổn định hơn.
Dù sao, tôi kết hợp các công cụ rất nhiều. Đối với một số nhiệm vụ như kiểm tra toàn bộ chi nhánh, tôi thích dòng lệnh. Đối với những người khác, tôi sử dụng TortoiseSVN . Tôi sử dụng Subclipse chủ yếu để xem lịch sử và chạy so sánh trực tiếp trên công cụ và đôi khi để so sánh ( tuy nhiên tôi thích Beyond So sánh cho điều đó).