2014-11-27 14 views
8

Ngay bây giờ, có hai phiên bản có liên quan của Julia: bản phát hành ổn định mới nhất 0.3 và bản phát hành 0.4 đang được phát triển (có bản dựng hàng đêm).Trong Julia, có cách nào tốt để duy trì nhiều phiên bản của gói nhắm mục tiêu vào các bản phát hành khác nhau không?

Hiện tại có cách nào tốt để có Julia 0.3 và 0.4 phiên bản của cùng một gói, để xử lý cú pháp & các thay đổi khác xảy ra giữa các phiên bản Julia không?

Ví dụ: một trong các tùy chọn này có thể có cho các gói trên METADATA?

  • Có Julia 0.3 cài đặt một chi nhánh và Julia 0.4 cài đặt một
  • cờ Mã cho Julia 0.3 hoặc 0.4 trong các phần liên quan

Trả lời

4

Không có gì để ngăn chặn bạn duy trì gói của bạn cho cả hai phiên bản Julia là ngoài sự kiên nhẫn của bạn. Ví dụ: bạn có thể có master gói của mình Kho GitHub là phiên bản tương thích với Julia 0.4 và duy trì chi nhánh julia03 riêng cho Julia 0.3.

Trong METADATA, bạn sẽ duy trì hai "chuỗi" bản phát hành, ví dụ: chuỗi 0.1.x tất cả sẽ trỏ đến cam kết trên chi nhánh julia03 và chuỗi 0.2.x tất cả sẽ trỏ đến cam kết trên master. Tất cả các bản phát hành này sẽ có các dòng thích hợp trong các dòng REQUIRE/requires (julia 0.3 0.4- trong một và julia 0.4 ở mặt khác).

Một cách khác để nghĩ về việc đó là tạo một chi nhánh trong gói của bạn mỗi khi bạn gắn thẻ một bản phát hành chính. Ví dụ: JuMP có chi nhánh release06 nơi chúng tôi có thể backport các bản sửa lỗi nhỏ cho loạt phát hành 0.6, trong khi làm việc trên các tính năng mới trên máy chủ.

Cuối cùng, Compat.jl có nhiều công cụ hữu ích để làm cho mã hoạt động trên Julia 0.3 và Julia 0.4.

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