Để bắt đầu ra, tôi đã nhìn vào trang sau và hoàn toàn không có câu trả lời của tôi: how-would-you-organize-a-subversion-repository-for-in-house-software-projects và how-do-you-organize-your-version-control-repositoryCách tốt nhất để tổ chức một kho lật đổ của nhiều dự án nhỏ
Tôi cũng đã xem xét chương 8 của Pragmatic Version Control using Subversion.
Tất cả đều có lời khuyên tốt, nhưng tôi đang gặp khó khăn trong việc liên kết nó với nhu cầu của mình.
Về cơ bản, tôi muốn sắp xếp mã cho máy chủ web của mình. Chúng tôi có $ WEBROOT/htdocs và $ WEBROOT/cgi-bin. Theo thư mục htdocs của chúng tôi, chúng tôi có $ WEBROOT/htdocs/js và $ WEBROOT/htdocs/css cho tập lệnh java và các bảng định kiểu.
"Dự án" của chúng tôi không thực sự là dự án, nhưng có một số mã nhỏ - có thể là tập lệnh Perl, tệp tập lệnh java và bảng định kiểu. Chúng tôi có thể có một trăm hoặc hơn của các "dự án" nhỏ mà tất cả đều khá độc lập với nhau, nhưng tất cả đều sống dưới cùng một WEBROOT $ trên cùng một máy chủ web.
Mã của chúng tôi hiện không ở dạng lật đổ, nhưng tôi muốn nó - Tôi chỉ gặp sự cố khi tổ chức hiệu quả. Chúng tôi có thể có nhiều kho svn nếu cần thiết, nhưng nếu mỗi kho lưu trữ chỉ có 3-10 yếu tố, điều đó có vẻ như là một sự lãng phí đối với tôi.
Những gì tôi nghĩ có thể làm việc là một cái gì đó như thế này: Nếu tôi viết một kịch bản để đếm các tiến trình đang chạy trên máy chủ web (vì lợi ích của một ví dụ). Hãy nói rằng tôi có một kịch bản perl, một tập tin js, và một tập tin css. Tôi có thể đặt tên cho "dự án" webserver_processes, và kiểm tra xem nó vào kho lưu trữ như:
/svnrepo/webserver_processes/trunk
Dưới thân cây, tôi có thể có:
htdocs/html/webserver_processes
htdocs/js/webserver_processes
htdocs/css/webserver_processes
cgi-bin/webserver_processes
tôi không có bất kỳ tài liệu html tĩnh trong này " dự án "nhưng nếu tôi đã làm, họ sẽ đi vào thư mục" html ".
Lợi ích tôi thấy trong cấu trúc này là tôi có thể kiểm tra một "dự án" tại một thời điểm mà không thực sự ảnh hưởng đến bất kỳ điều gì khác trên máy chủ web. Những bất lợi (và có lẽ nó không thực sự là một bất lợi) đang triển khai. Tôi sẽ phải triển khai 1 dự án tại một thời điểm từ kho lưu trữ. Tôi không thấy làm thế nào nó có thể tạo một bản sao làm việc với cấu trúc của tôi $ WEBROOT/htdocs và $ WEBROOT/cgi-bin bằng cách sử dụng phương pháp này.
Một tùy chọn khác:
tôi có thể tạo ra một kho lưu trữ svn như thế này:
/svnrepo/webcode/trunk
Dưới thân cây sẽ là tất cả các mã trên máy chủ web của tôi, trong hai thư mục này:
htdocs
cgi-bin
Những bất lợi lớn sẽ là, đối với một mã nhỏ thay đổi thành 1 phần tử, tôi sẽ phải kiểm tra mọi phần mã trong môi trường web của tôi ment. Lợi ích (phần nào) sẽ là tôi có thể làm một "cập nhật svn" trên máy chủ web của chúng tôi để nhận bất kỳ thay đổi nào được cam kết với kho lưu trữ.
Có lẽ tôi đang làm điều này phức tạp hơn nó nên, nhưng có ai có lời khuyên nào về cách tôi có thể tổ chức hiệu quả mã của tôi trong lật đổ không?
Rất cám ơn trước!
Brian
Có vẻ như hai tùy chọn của bạn là giống nhau, ngoại trừ bạn đã đặt tên cho các máy chủ webserver_processes cấp cao nhất trong một webcode và một trong webcode? – Sol
Tùy chọn thứ hai là mọi thứ trong $ WEBROOT của tôi là một dự án đơn lẻ trong lật đổ. Tùy chọn đầu tiên là mọi "dự án" mà chúng tôi làm việc đều là dự án riêng của nó trong kho lưu trữ lật đổ. – BrianH