2008-09-25 39 views
7

Tôi có một kho lưu trữ subversion chứa một số để các thư mục con tương ứng với các ứng dụng khác nhau, tệp cấu hình, DLL, v.v.) tạo nên dự án của tôi. Bây giờ chúng tôi đang bắt đầu "chi nhánh" vào một số dự án liên quan. Tức là, mỗi dự án cấp cao sẽ sử dụng một số mô-đun, có thể hơi sửa đổi từ dự án thành dự án. Số lượng dự án nhỏ hơn (~ 5) so với số lượng mô-đun (~ 20)Tổ chức dự án SVN: mỗi mô-đun hoặc mỗi dự án

Bây giờ tôi đang cố gắng tìm ra cách tổ chức repo. Nó có ý nghĩa để giữ các thư mục con cấp cao nhất trên cơ sở từng module, với các thư mục con con cho mỗi dự án không? Hoặc nên cấp cao nhất được cho từng dự án, mỗi dự án có các thư mục con mô-đun riêng của mình:

repo:

module 1 
    Project 1 
    Project 2 
    ... 

    Project 5 
module 2 
    Project 1 
    .... 
    Project 5 
.... 
module 20 
    Project 1 
    ... 
    Project 5 

-hoặc-

repo:

Project 1 
    module 1 
    module 2 
    ... 
    module 20 
Project 2 
    module 1 
    module 2 
    ... 
    module 20 
... 
Project 5 
    module 1 
    module 2 
    ... 
    module 20 

Trả lời

0

Tôi nghĩ rằng việc bạn sử dụng "cấp cao" để mô tả những gì một dự án cho thấy rằng bạn nên có một thiết lập Dự án/mô-đun.

Tuy nhiên, bạn có thể thiết lập Mô-đun và Dự án - tức là chúng ở cùng cấp trong repo SVN. Dự án của bạn có thể dựa vào Mô-đun và nếu có thể, Dự án có thể cung cấp các hoạt động cụ thể của các hành động, chuyển mô-đun thành mô-đun cơ sở với các triển khai mặc định nhưng có thể thực hiện được.

1

Tôi sẽ tổ chức bởi Dự án THEN theo mô-đun (ví dụ thứ hai của bạn). Lý do chính tại sao là vì có nhiều chi phí hơn trong việc quản lý một dự án, ít nhất là đối với tôi, hơn là quản lý các mô-đun.

Mỗi dự án khác nhau cần thiết lập xây dựng kịch bản của riêng mình, nộp tài sản, vv và nó là dễ dàng hơn nhiều để theo dõi 5 bản sao làm việc trên máy tính của bạn hơn 20.

1

tôi thích một 1st.

Mặc dù cần nỗ lực nhiều hơn cho mỗi kho lưu trữ để duy trì, tôi thích số sửa đổi của mình để có ý nghĩa cho dự án.

tức là sản phẩm hàng đầu của chúng tôi có bản sửa đổi 48123, dự án mới của chúng tôi có bản sửa đổi là 31. Nếu bạn có các phụ thuộc liên kho, thì bạn có thể sử dụng svn externals.

+0

+1 Những số xây dựng này hữu ích trong môi trường xây dựng liên tục. – JMP

3

Có vẻ như tốt nhất là sắp xếp theo Dự án ở cấp cao nhất, vì bạn sẽ muốn thanh toán toàn bộ chi nhánh và có bản sao làm việc cho dự án. Nếu bạn sắp xếp theo mô-đun, bạn sẽ phải thực hiện nhiều lần kiểm tra (một cho mỗi mô-đun bạn đang sử dụng) để xây dựng dự án của bạn đến điểm có thể sử dụng được.

Nó có thể làm cho tinh thần để giữ cả hai dự án và các module riêng biệt, Ví dụ:

Projects 
    Project 1 
    Project 2 
    ... 
Modules 
    Module 1 
    Module 2 
    ... 

Nếu bạn sử dụng kết hợp với svn externals và/hoặc vendor branches, bạn có thể hỗ trợ các chi nhánh khác nhau cho các dự án của bạn mà cần khác nhau các phiên bản mô-đun, nhưng vẫn được hưởng lợi từ việc có một nguồn mô-đun duy nhất khi các dự án xảy ra để chia sẻ cùng một phiên bản của một mô-đun.

0

Tôi có xu hướng sắp xếp theo dự án, nhưng hiện tại luôn như vậy.Nếu bạn có các khía cạnh kiểm soát quyền truy cập của mã, hãy tổ chức thành giảm thiểu quyền quản trị quyền; điều này cũng có thể dẫn đến một tổ chức mỗi nhóm của kho lưu trữ.

Nhân tiện: Bạn dường như mong đợi làm việc trong một kho lưu trữ lớn - điều tôi cho là thông minh, vì nó có nghĩa là xử lý lịch sử tốt hơn: Ngay sau khi bạn di chuyển nội dung giữa các kho lưu trữ, bạn mất lịch sử. Nói cách khác, tôi không đồng ý với lời khuyên của Ben Scheirman về điều này.

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