2009-02-20 30 views
7

Tôi đã tự hỏi mình câu hỏi: tôi có nên tạo một kho lưu trữ cho tất cả các dự án tại khách hàng này không? hay tôi nên tạo một kho lưu trữ riêng biệt cho mỗi?Tôi có nên có 1 hoặc nhiều kho lưu trữ không?

Bạn thường quyết định điều nào?

Hãy liệt kê những ưu điểm và nhược điểm của một trong hai cách tiếp cận dẫn đến quyết định của bạn.

EDIT: Xin vui lòng đánh dấu là trùng lặp cho một trong các cách sau:

One SVN repository or many?

Should I store all projects in one repository or multiple?

+0

thực sự, tìm kiếm của chồng không nhìn thấy chúng với các thuật ngữ tôi đã sử dụng. –

+0

Chúng tôi không thể hợp nhất các câu hỏi này mặc dù chúng tôi có thể? Tôi sẽ giữ điều này mở vì nhiều câu trả lời tốt hơn ít hơn. Các gợi ý cho các câu hỏi khác là đủ. –

+0

Tôi đã tìm kiếm "Tôi có nên có 1 hoặc nhiều kho lưu trữ không?" (câu hỏi của bạn) và liên kết trong chỉnh sửa ở trên là # 2 trong danh sách. Tôi không nghĩ rằng có bất kỳ hợp nhất, và Q khác không liên kết với điều này. Không có dups nào tốt hơn. – Bratch

Trả lời

1

tôi sử dụng một kho lưu trữ duy nhất cho "tất cả mọi thứ", vì nó làm cho di chuyển các thứ giữa các dự án dễ dàng hơn nhiều - ít ít nhất với SVN.

0

Tôi làm việc tại một cửa hàng phát triển NET và chúng tôi có hai kho Visual SourceSafe. Một cho các ứng dụng .NET 1.1 cũ của chúng tôi và một cho các ứng dụng .NET 2.0/3.0/3.5 mới hơn của chúng tôi.

0

Chỉ có một lý do mà tôi có thể nghĩ đến vì không đặt tất cả trong một kho lưu trữ. Và đó là nếu bạn không có quyền truy cập để cấu hình máy chủ, kho lưu trữ được bật và bạn cần hạn chế các phần của kho lưu trữ cho các nhóm người khác nhau.

Chúng tôi có một máy chủ được quản lý tập trung nơi chúng tôi có thể tạo kho lưu trữ khi cần thiết, nhưng không thể thay đổi cấu hình. Chúng tôi có kho lưu trữ mã chính chỉ để sử dụng nội bộ, nhưng tạo một kho lưu trữ bổ sung để cộng tác với những người bên ngoài tổ chức.

1

Tôi có một kho lưu trữ cho từng dự án, bởi vì nó giữ số phiên bản độc lập. Tôi đã theo dõi suy nghĩ được trình bày trong phần trợ giúp TortoiseSVN 4.1.5, "Bố cục Kho lưu trữ":

Lập chỉ mục theo dự án có ý nghĩa và mỗi dự án không được kiểm tra riêng lẻ.

Tôi đang sử dụng SVN cho bản sao lưu cục bộ của riêng mình trong trường hợp này, vì vậy điều đó có ý nghĩa đối với tôi.

0

Chúng tôi có một kho lưu trữ cho mỗi TYPE của dự án và loại người truy cập vào nó. Ví dụ, tất cả các dự án .NET của chúng ta nằm trong một kho lưu trữ duy nhất, và tất cả các ứng dụng kế thừa của chúng ta nằm trong một kho lưu trữ duy nhất. Bằng cách này, các nhà phát triển .NET của chúng tôi không thể vô tình phát triển các nhà phát triển kế thừa của chúng tôi (và ngược lại).

0

Tôi đã từng sử dụng một kho lưu trữ cho tất cả các dự án cho đến khi nó trở nên lớn đến mức cam kết với dự án thực sự bị chậm lại - đây là với Subversion. Nếu dự án của bạn sẽ chứa rất nhiều dữ liệu, đặc biệt là dữ liệu nhị phân thì tôi khuyên bạn nên sử dụng kho lưu trữ riêng biệt. Nếu bạn chủ yếu chỉ lưu trữ mã thì một kho lưu trữ đơn giản hơn để duy trì.

+0

Hãy nhớ rằng bạn không cần phải kiểm tra toàn bộ kho lưu trữ. Bạn có thể chọn bất kỳ cây con nào bằng cách chỉ định nó là một phần của url được chuyển đến svn co. – KeithB

0

Tôi sử dụng một số kho lưu trữ - mặc dù tôi thừa nhận rằng khi nói đến tổ chức mã, tôi có một chút OCD và tôi thích mọi thứ được tổ chức và phân biệt rõ ràng.

Tôi quản lý repo SCM tại công ty chúng tôi, và hiện tại chúng tôi có ba: một cho các dự án chính, một cho gói/thư viện và một cho mã của bên thứ ba. Nếu tôi làm điều đó một lần nữa, tôi cũng sẽ tạo một kho lưu trữ riêng cho các tập tin media (chúng ta có rất nhiều file mp3/wav cần kiểm soát phiên bản), nhưng than ôi, chúng nằm trong repo chính của chúng ta.

Tôi nghĩ rằng đối số mạnh mẽ nhất cho việc sử dụng nhiều kho lưu trữ (bên cạnh việc bị tổ chức ám ảnh) là nó dễ dàng hơn trong việc xử lý quyền truy cập cho từng repos này, trong khi tùy thuộc vào môi trường SCM của bạn. dễ dàng cho nhiều đường dẫn bên dưới một repo đơn.

0

Tôi sử dụng git cho hầu hết mọi thứ. Vì vậy, tôi có một kho lưu trữ cho mỗi dự án (có thể là/etc, các dự án mã hóa hoặc các tệp cấu hình người dùng).

0

nếu bạn sử dụng một kho lưu trữ cho mọi thứ, việc thiết lập bản dựng tự động sẽ khó khăn hơn hoặc tiếp tục tích hợp. Ngay cả khi bạn không có kế hoạch làm điều này ngay bây giờ, nó không phải là một ý tưởng tồi để thiết lập nó ngay bây giờ, điều này cũng mang lại cho bạn thêm tiền thưởng làm cho nó dễ dàng hơn để quản lý nội dung của bạn.

Nguyên tắc chung là tạo kho lưu trữ cho từng nhóm giải pháp \ dự án riêng biệt.

Nếu bạn có giải pháp không chia sẻ bất kỳ thứ gì, hãy tạo kho lưu trữ cho từng loại. Một ví dụ khác là nếu bạn có một phiên bản .NET 1.1 của ứng dụng của bạn và bạn muốn tạo một phiên bản 2.0 của ứng dụng mã chi nhánh của bạn và tạo một kho lưu trữ riêng cho mã mới của bạn, điều này cũng có thể được thực hiện với .NET 3.0 và. NET 3.5.

+0

Tôi không thấy làm thế nào khó khăn hơn để làm tự động xây dựng với một kho lưu trữ duy nhất. Bạn luôn có thể thanh toán một cây con. – KeithB

+0

có thể nói về móc? –

+0

sử dụng Hooks để tiếp tục tích hợp, bạn có thể kiểm tra một cây con, nhưng sau đó bạn phải theo dõi cây con. sau đó nó trở thành một vấn đề để duy trì trên cây phụ để kiểm tra cho những gì vv nếu bạn làm một chút của tổ chức để bắt đầu và bảo trì sẽ dễ dàng hơn nhiều –

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