SVN có lỗi mốt không? [đóng cửa]


9

Chỉ vài năm kể từ khi tôi chuyển từ Visual Source Safe sang SVN. Và SVN đối với tôi vẫn tốt bụng "WOW! Tôi có thể làm rất nhiều thứ! SVN thật tuyệt!"

Nhưng nhiều người xung quanh tôi cứ nói "SVN? Thật sao? Meh ..."

Và có rất nhiều trong số họ mà tôi lo lắng. Tôi có nên chuyển đội của mình sang Git / Mercurial hoặc một số thứ ưa thích khác không? Tôi biết tôi nghe có vẻ vô lý và câu trả lời rõ ràng sẽ là "ở lại với những gì làm việc cho BẠN". SVN làm việc cho tôi ... Nhưng mỗi khi tôi tạo một dự án mới trong kho lưu trữ của mình, tôi cứ tự hỏi - có lẽ đây là lúc để di chuyển?

Vậy ... SVN có tệ lắm không? Tôi có bỏ lỡ một cơ hội lớn bằng cách gắn bó với nó?


Đây có thể là một bài đọc thú vị: stackoverflow.com/questions/161541/svn-vs-git
Fouronnes

Bạn có phải là nhà phát triển độc lập?
TeaDrinkingGeek 15/03

6
Tôi luôn sử dụng GIT. Bây giờ tôi phải sử dụng SVN tại nơi làm việc .... ... ... ... ... ... ... RAGE.
Ivo Wetzel

@TeaDrinkingGeek: OP nói "Tôi có nên di chuyển đội của mình ..." vì vậy tôi đoán không chỉ có OP tham gia (trừ khi bạn tính một đội của một đội - nhưng sau đó thường không được gọi là "đội của tôi" ).
Thất vọngWithFormsDesigner

lol xin lỗi bạn đời, đôi mắt hơi mờ sau 12 giờ trên máy tính xách tay. :)
TeaDrinkingGeek 15/03

Câu trả lời:


8

Nó hoàn toàn phụ thuộc vào cách sử dụng.

Nếu bạn có một nhóm người trong một phòng và họ thực hiện hầu hết công việc của họ ở đó, nếu bạn có quy trình xây dựng và triển khai mà bạn thích và nếu bạn không muốn chia sẻ mã của mình với mọi người một cách rộng rãi (như bạn sẽ làm với dự án nguồn mở), sau đó bạn không nên đổ mồ hôi.

Tôi đã chuyển đổi có thể một năm trước từ Subversion sang git. Git hoàn toàn phù hợp cho trường hợp sử dụng chủ yếu là cục bộ, nhưng nơi nó thực sự tỏa sáng là sự phát triển phân tán. Được sử dụng cục bộ, thật tuyệt khi có github như một bản sao lưu từ xa và giao diện web đẹp cho mã, và nó giúp tôi dễ dàng cho phép các nhà thầu tham gia. Nhưng tôi không nhận được nhiều từ nó ngay bây giờ khi tôi không nhận được từ Subversion.


8

Đừng bị cuốn theo dòng hype liên tục. Bạn có một cái gì đó hoạt động, tiếp tục sử dụng nó cho đến khi có một yêu cầu kinh doanh được đáp ứng tốt hơn với thứ khác (không, một hệ thống kiểm soát nguồn mới hoặc ngôn ngữ lập trình cứ sau vài tháng, bất cứ khi nào một cái gì đó "mới và cải tiến" được thổi phồng, sẽ không xảy ra để đáp ứng yêu cầu kinh doanh của bạn tốt hơn bất kỳ yêu cầu nào bạn đang sử dụng bây giờ).

Nếu SVN làm việc cho tổ chức của bạn, do đó, không có lý do gì để đầu tư tiền / thời gian / công sức cần thiết để chuyển sang một thứ khác, tuy nhiên nhiều người muốn vì nó mới và sáng bóng.

Và không, đó không phải (như JBK nghĩ) là một quyết định thuộc về "nhóm", đó là một quyết định thuộc về quản lý sau khi tham khảo ý kiến ​​với tất cả các bên quan tâm (bao gồm ít nhất là sysadins của bạn). Đó là một quyết định kinh doanh để chi tiền cho việc thay đổi ngăn xếp công nghệ của bạn, không phải là một quyết định kỹ thuật.


Tôi sẽ nâng bạn lên một triệu lần nếu tôi có thể.
HLGEM

5

Tôi tin rằng người ta không bao giờ nên đưa ra quyết định từ sự thiếu hiểu biết. Nếu bạn không biết bạn đang thiếu gì, bạn nên thử git đủ lâu cho đến khi bạn làm điều đó, sau đó bạn có thể đưa ra quyết định sáng suốt. Bước nhảy sang kiểm soát phân tán thực sự không thể được hiểu mà không cần thử và bỏ đi một số thói quen cũ trong khi bạn làm. Hầu hết sức mạnh của DVCS là bạn có thể tạo bao nhiêu nhánh tùy thích, vì bất kỳ lý do gì bạn muốn. Nếu bạn dùng thử trong một tháng và chưa tạo được ít nhất 5 chi nhánh hoặc lâu hơn, bạn đã không kiểm tra nó theo các điều khoản riêng. Đây là sai lầm của hầu hết những người không "nhận" git. Sau đó, nếu bạn quay lại svn, ít nhất bạn sẽ biết lý do cho chính mình.


5
Tôi rất ủng hộ việc đưa ra hầu hết các quyết định từ sự thiếu hiểu biết tương đối. Bạn đề nghị anh ấy mất một tháng để thử git. Đó là công việc thực sự. Anh ta chỉ nên làm điều đó nếu có lý do nào đó để tin rằng nó sẽ giúp tình hình của anh ta tốt hơn rất nhiều. Nếu không, có lẽ anh ta nên dành thời gian thử nghiệm trong tháng khác. Ví dụ: redis hoặc mongo hoặc rails hoặc node.js hoặc BDD bất kỳ thứ gì mới nóng không kém.
William Pietri

Nhưng Git một điều mới nóng. Và kinh nghiệm của nhiều người dùng Git cho thấy nó sẽ giúp tình hình của anh ta tốt hơn rất nhiều.
Kyralessa

3

Tôi chưa sử dụng Git, nhưng tôi đã sử dụng Mercurial và tôi thực sự không thấy vấn đề lớn là gì. Nó cảm thấy rất giống SVN, ngoại trừ những thứ cơ bản như checkin và thanh toán phức tạp hơn (yêu cầu hai bước thay vì một). Đổi lại, nó được cho là tạo ra nhiều thứ cao cấp hơn mà tôi thực sự không bao giờ cần phải làm đơn giản hơn nhiều. Phản ứng của tôi trước những tuyên bố về DVCS trở nên vượt trội hơn về cơ bản là, "OK, chắc chắn, tôi sẽ tin lời bạn", và sau đó tôi tiếp tục với SVN, hoạt động tốt với tôi.


Thỏa thuận lớn về DVCS là bạn có thể thực hiện tất cả công việc của mình "ngoại tuyến". Một tính năng đó đặt ra yêu cầu rằng DVCS có một cơ chế hợp nhất mạnh mẽ có thể xử lý việc nổi loạn và phân nhánh; loại nhiệm vụ đơn giản là không thể với một VCS tập trung. Sự ưu việt mà mọi người tuyên bố xuất phát từ quy trình công việc được kích hoạt hơn là ưu thế kỹ thuật. Nếu bạn không sử dụng hoặc cần loại quy trình công việc đó, điều đó cũng không sao.
greyfade

1
Đó là vì đăng ký và thanh toán không tồn tại trong DVCS. Bạn đang sử dụng hg để thay thế cho SVN thay vì sử dụng hg theo cách nó được sử dụng. Điều tương tự sẽ áp dụng cho bất kỳ DVCS.
thay thế

@Mathepic: Chà, bạn có thể thay đổi tên nếu bạn muốn, nhưng khái niệm cơ bản về chuyển dữ liệu giữa bản sao làm việc cục bộ và kho lưu trữ chính thức tồn tại trong bất kỳ hệ thống kiểm soát nguồn nào.
Mason Wheeler

1
không nó không. Không có hoạt động như vậy trong một DVCS.
thay thế

3
đúng vậy - quan điểm của một repo trung tâm để đẩy phiên bản 'chính' thành trường hợp sử dụng rất hợp lệ, để sao lưu, xây dựng máy chủ, quản lý phát hành hoặc chỉ là cách phối hợp tốt hơn giữa các nhóm.
gbjbaanb

-2

Câu trả lời rõ ràng ở đây là để cho nhóm quyết định và thảo luận về đâu là lựa chọn tốt nhất cho mọi người để không ai gọi các cảnh quay trong chân không. Có thể có nhiều ý kiến ​​và mối quan tâm khác nhau được giải quyết nhưng tôi muốn đề xuất một câu trả lời đồng thuận hơn là cố gắng độc tài về những gì sẽ sử dụng.


3
Bạn có ý tưởng nào về chi phí thay đổi từ hệ thống kiểm soát nguồn này sang hệ thống kiểm soát nguồn khác hoặc có nguy cơ mất mọi thứ trong quy trình nếu ai đó mới sử dụng hệ thống mới mắc lỗi khi chuyển đổi mã hiện tại không? Đây KHÔNG phải là quyết định của nhóm, đây là quyết định kinh doanh và chỉ nên được thực hiện nếu bạn có nhu cầu thực sự mà hệ thống hiện tại của bạn không thể đáp ứng.
HLGEM
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.