Vì một số lý do giáo dục mà tôi đã bắt đầu cách đây một thời gian để xây dựng thư viện của riêng mình. Nó bắt đầu như một thư viện đơn giản với một số lớp có thể sử dụng, nhưng vì nó vẫn phát triển hàng ngày và tôi đã sử dụng nó trong một số dự án, nó bắt đầu không thể theo dõi những thay đổi, vì tôi không sử dụng SVN.Thực hành tốt nhất để lưu thư viện từ các dự án thực tế của chúng là
Bây giờ tôi đã bắt đầu sử dụng SVN Tôi muốn thêm thư viện cũng như các dự án vào kho SVN khác nhau. Một cho mọi dự án (vì thư viện cũng là một dự án).
Phương pháp hay nhất để lưu thư viện của tôi ngoài dự án là gì? Mỗi dự án đều có thư mục /library/ chứa tất cả các loại thư viện trong đó. Vì vậy, whats thực hành tốt nhất của tôi để làm theo:
- tôi có thể thêm /thư viện/framework/ thư mục và đặt nó trên bỏ qua trong SVN dự án và sau đó kiểm thư viện trong thư mục đó (điều này thậm chí có thể?)
- Pro: Mọi dự án đều có khuôn khổ riêng, nếu khuôn khổ có thể thay đổi, nó sẽ không phá vỡ bất kỳ mã nào trong dự án.
- Con: Nếu tôi có 100 dự án và tất cả đều cần cập nhật thiết yếu (bảo mật khôn ngoan), tôi phải cập nhật tất cả chúng theo cách thủ công.
- Tôi cũng có thể thanh toán thư viện ở đâu đó trên máy chủ và liên kết tượng trưng thư mục /library/framework/ sau khi bỏ qua nó trong dự án svn.
- Pro: Một bản cập nhật sẽ khắc phục tất cả các dự án trong trường hợp cập nhật cần thiết.
- Côn: Như đã nói ở trên: một bản cập nhật sẽ sửa chữa/thay đổi tất cả các dự án ...
- Côn: Nếu dự án cần phải được thiết lập để một máy chủ (không phải của tôi ...)
Bất cứ ai có bất kỳ suy nghĩ nào?
hãy nói như vậy nếu tôi không hiểu, nhưng là đúng là một lệnh svn update trong thư mục dự án của tôi sẽ không cập nhật bên ngoài svn? Ngay sau khi tôi hỏi, tôi nghĩ rằng các giao diện của tôi - không giả sử thay đổi trong cùng một phiên bản chính và nếu tôi thực sự cần thay đổi giao diện- tôi cũng có thể thiết lập một thẻ/nhánh cụ thể cho các dự án đó vẫn cần cùng một nội dung - do yêu cầu của họ. – Niels
Theo mặc định, nó sẽ cập nhật các phần tử bên ngoài. Vì vậy, tùy thuộc vào phương pháp phát triển của bạn và cách bạn tổ chức các dự án bên ngoài, bạn có thể muốn ghim mọi thứ vào một thẻ cụ thể hoặc một chi nhánh được bảo đảm duy trì BC. Bạn luôn có thể sử dụng cờ '--ignore-externals' với các lệnh cập nhật mặc dù sẽ không nhận được phiên bản mới nhất. – prodigitalson