2010-12-28 26 views
5

Tôi có một tệp chứa một số thẻ chứa trong một kho lưu trữ CVS. Có cách nào tôi có thể kiểm tra tất cả các tập tin và thư mục liên quan của họ bằng cách sử dụng chỉ các thẻ mà không kiểm tra toàn bộ kho lưu trữ?Thanh toán CVS chỉ dựa trên các thẻ

Tôi không có danh sách các thư mục trong kho lưu trữ để tôi không thể chạy cvs co -r baz_1_0_0_0 foo/bar/baz vì tôi không biết vị trí thực sự của baz.

Tôi đang chạy CVS 1.11 vì vậy tôi không có các lệnh như rls khả dụng.

+0

Như đã viết, điều này không có ý nghĩa nhiều. Khi bạn kiểm tra bằng cách sử dụng '-r TAG', bạn sẽ chỉ nhận được các tệp có thẻ đó. Thay vào đó, bạn thấy gì? – Anon

+0

Chạy 'cvs co -r baz_1_0_0_0' Tôi gặp phải lỗi mà tôi phải chỉ định ít nhất một mô-đun hoặc thư mục'. Vì những gì tôi kiểm tra không phải là một mô-đun, tôi sẽ cần phải chỉ định một thư mục, nhưng tôi không biết thư mục trước và tôi đã không thể tìm ra cách để phân tích các thư mục cần thiết từ một số lệnh khác. – Greg

+0

Vâng, vâng, bạn phải chỉ định tên của một dự án. Làm thế nào để bạn kiểm tra mà không có một thẻ? – Anon

Trả lời

0

Nếu bạn làm một:

cvs history -T 

nó sẽ cung cấp cho bạn thẻ và các module liên quan (giả sử bạn đã CVSROOT định nghĩa). Sau đó, bạn có thể grep cho TAG bạn đang tìm kiếm và chỉ kiểm tra các mô-đun đó.

ví dụ:

mods=`cvs history -T | grep $TAG | awk '{print $6}'` 
for mod in $mods; do 
    cvs co -r $TAG $mod 
done 
0

Kiểm tra .. Điều đó cung cấp cho bạn tất cả các tệp trong kho lưu trữ. Với -r, kiểm tra tất cả các tệp có bản sửa đổi hoặc thẻ đó.

Lưu ý rằng việc kiểm tra . điền vào thư mục hiện tại, vì vậy bạn có thể muốn tạo một thư mục toplevel trước.

mkdir baz 
cd baz 
cvs co -r baz_1_0_0_0 . 
Các vấn đề liên quan