2010-09-24 28 views
5

Kể từ khi khám phá perlbrew, tôi là một người dùng CPAN hạnh phúc. Nhưng những gì tôi chưa bao giờ tìm ra là làm thế nào để đọc các thay đổi của mô-đun. Ví dụ, khi nhìn vào những lỗi thời với "r" trong shell CPAN, tôi muốn dễ dàng kiểm tra các thay đổi để quyết định có nâng cấp hay không.Làm cách nào để bạn đọc các thay đổi CPAN?

Tất nhiên tôi có thể tải xuống mô-đun, giải nén và khám phá danh sách thay đổi. Nhưng tôi hy vọng có một cách dễ dàng hơn. Bạn làm nó như thế nào?

Tôi đang sử dụng vỏ CPAN cũ. Nếu CPANPLUS hoặc cpanminus hỗ trợ điều này, tôi sẽ xem xét chuyển đổi.

Trả lời

3

cpan-outdated gần những gì bạn cần ra khỏi hộp:

$ cpan-outdated --compare-changes 

Trên tạo ra một diff giữa tất cả Changes tập tin của bạn và mới nhất từ ​​CPAN cho mỗi mô-đun ra đề ngày mà bạn có. Tuy nhiên, điều này có thể hơi dài & lộn xộn để lướt qua nếu bạn có nhiều mô-đun ngày lỗi thời!

May mắn thay nó chỉ mất một vài thay đổi để thêm các tùy chọn này:

$ cpan-outdated --pkg Catalyst::View::TT --compare-changes 

$ cpan-outdated --filter-pkg Catalyst --compare-changes 

cập nhật của tôi có thể được tìm thấy trên Github đây: http://github.com/draegtun/cpan-outdated. Đây là diff of my changes-tokuhirom cpan-outdated

/I3az/

+0

Điều này sẽ thực sự thú vị khi thêm vào cpan (1). Tôi sẽ phải "xem những gì bạn đã làm ở đó" :) –

+0

@brian d foy: Tất cả các kudo nên đến Tokuhirom (http://github.com/tokuhirom) vì những thay đổi của tôi rất nhỏ. – draegtun

+0

Tuyệt vời, đây chính xác là những gì tôi đang tìm kiếm. Cảm ơn! –

6

Tôi chỉ xem CPAN Search. Trang chính cho mỗi liên kết phân phối tới các tệp chính và bạn cũng có thể duyệt toàn bộ phân phối. Bạn không phải tải xuống hay giải nén bản phân phối.

Bạn cũng có thể sử dụng chuyển đổi -C lệnh CPAN, do đó bạn không cần phải nhập vào vỏ CPAN.pm:

$ cpan -C Some::Module 

Tôi không biết bất cứ điều gì mà sẽ cho bạn thấy những tập tin Changes ở một lần cho tất cả các mô-đun lỗi thời. Điều đó có lẽ sẽ là một chút lộn xộn trong nhà ga. Bạn có thể có thể dàn dựng một cái gì đó với công tắc -O:

$ cpan -O | perl -anle 'print $F[0] if $. > 9' | xargs cpan -C 

Đó là $. > 9 chút là có bỏ qua sản lượng CPAN.pm và tiêu đề bảng. Nó chắc chắn xấu xí.

Nếu bạn muốn làm điều gì đó lạ mắt hơn, bạn có thể làm cho phần cuối của đường ống một số tập lệnh chạy cpan -C riêng lẻ và lưu kết quả vào tệp. Đặt tất cả các tệp trong thư mục Thay đổi và Bob là chú của bạn. Đó là công việc nhiều hơn tôi quan tâm. Tôi chỉ cập nhật mọi thứ và xem xét các Thay đổi sau nếu có điều gì đó bị hỏng.

+0

Cảm ơn, tôi đã bỏ lỡ cờ C như tôi luôn luôn sử dụng vỏ, và nó không được tiếp xúc như là một lệnh đó. Điều đó sẽ dễ thực hiện, có lẽ tôi đã có một dự án mới ở đây :-) –

+0

Ngoài ra, tôi đồng ý rằng nhìn thấy tất cả thay đổi cùng một lúc sẽ quá lộn xộn, tôi chỉ muốn nó cho một mô-đun cụ thể. –

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