2009-05-20 28 views
23

Tôi làm cách nào để liệt kê các tệp CVS mà không cần thanh toán ban đầu?Tôi làm cách nào để liệt kê các tệp trong CVS mà không cần thanh toán ban đầu?

Trong phiên bản lật đổ, tôi chỉ có thể thực hiện "svn ls http://svn.svn.com" trong CVS làm cách nào tôi có thể thực hiện việc này?

Ví dụ tôi đã có kết nối CVS này:

pserver:[email protected]:/cvsroot/evocms 

Làm thế nào tôi có thể liệt kê tất cả các file trong nó?

UPDATE:

tôi đang làm điều này:

c:\>set CVSROOT=pserver:[email protected]:/cvsroot/evocms 
c:\>cvs -list ---> doesn't work, prints out the help screen 
+0

Hey, bạn đã thử câu trả lời của franek chưa? http://stackoverflow.com/questions/889378/how-can-i-list-files-in-cvs-without-an-initial-checkout/2070969#2070969 Nó hoạt động hoàn hảo ở đây! –

Trả lời

33

Nếu đó là một hoạt động một lần bạn không cần phải thiết lập các biến môi trường CVSROOT. Chỉ cần sử dụng đối số -d cho đặc tả kho lưu trữ đặc biệt.

Nếu phiên bản của CVS/CVSNT không phải là quá già (để được chính xác bạn cần hoặc CVS ​​1.12.8 hoặc CVSNT cao hơn hoặc) sau đó, như những người khác đã nói, sau khi đã đăng nhập

cvs ls 

chỉ hoạt động tốt.

Nếu phiên bản của CVS/CVSNT không hỗ trợ lệnh ls sau đó bạn có thể thử

cvs checkout -c 

mà sẽ chỉ đổ danh sách được xác định trước modules.

Nếu phiên bản của CVS/CVSNT là đủ tuổi bạn có thể nhận được may mắn với việc hack sau (không làm việc với nhiều phiên bản gần đây của CVSNT trừ chế độ tương thích đã được kích hoạt trên máy chủ):

séc đầu tiên ra thư mục gốc của kho đối với một số vị trí tạm thời, vì vậy chúng tôi có các siêu dữ liệu cần thiết:

cvs -d[your CVSROOT string] co -l -dTemp . 

Sau đó, mô phỏng một bản cập nhật (với thư mục) của thư mục đó:

cd Temp 
cvs -n up -d 

Điều này sẽ phát ra (gần như) cùng một đầu ra như một thanh toán thực tế mà không thực sự nhận được các tập tin từ máy chủ.

Nếu bạn đang sử dụng Windows và sử dụng phiên bản CVSNT gần đây thì khách hàng cvs ls sẽ thực sự tự động quay trở lại cơ chế này khi phát hiện máy chủ không tự hỗ trợ ls.


Ồ có, và AFAICT không có điều nào như cvs -list. Cú pháp dòng lệnh CVS thậm chí không hợp lệ: -list sẽ phải là một đối số chung thay vì một lệnh như sau trực tiếp sau cvs và không có lệnh cụ thể nào được chỉ định. Nhưng sau đó một lần nữa, tất cả các đối số nhiều chữ cái (chẳng hạn như --help) sẽ phải bắt đầu bằng dấu gạch ngang kép, ví dụ: cvs --version. Có phải tất cả các bạn đều có thể nghĩ đến cvs list mà sẽ là một bí danh chỉ cho cvs ls?

+0

Tôi đang sử dụng cái này: http://ftp.gnu.org/non -gnu/cvs/binary/stable/x86-woe/cvs-1-11-14.zip có phải là sai không? Có lẽ đó là lý do tại sao nó không hoạt động. –

+0

Từ: http://www.nongnu.org/cvs/ –

+0

Đánh giá bởi số phiên bản Tôi nghĩ rằng một trong những nên được tốt. Tôi đang sử dụng CVSNT 2.5.04 bản thân mình (mà tiếc là không còn xuất hiện để có sẵn từ nguồn gốc - nó đã được bây giờ được superceded bởi một số sản phẩm bán thương mại). Ngoài ra, tôi cho rằng đó là những gì bạn đang sử dụng trên máy khách chứ không phải trên máy chủ? Bạn chưa viết bất cứ điều gì về những gì sẽ xảy ra khi bạn làm cvs ls (sau khi đã đặt CVSROOT và đăng nhập). –

0

see cvs commands

ví dụ;

cvs list 

sẽ liệt kê tất cả các module trong máy chủ CVS

+2

Mọi người, tại sao bạn tiếp tục đăng bài này? Tham số này không tồn tại! Cú pháp lệnh CVS thậm chí không hợp lệ để bắt đầu! –

+1

Nó tồn tại như một lệnh thay vì một đối số, sử dụng; "danh sách cvs" S list liệt kê các mô-đun trên máy chủ. – simon622

+1

Vâng, OK, tôi đã đoán rằng bây giờ. Điều này sẽ làm việc vì "danh sách" chỉ là một từ đồng nghĩa của "ls". Xem "cvs --help-synonyms" –

2

có một lệnh tương tự trong cvs

Cách sử dụng: cvs ls
cvs -list để liệt kê các module, ls để liệt kê nội dung của mô-đun.

CHỈNH SỬA: Chúng đúng, danh sách lệnh và ls giống nhau, tôi rất tiếc vì điều đó.

Tôi không thực sự thấy cách liệt kê một thư mục cvs mà không thực sự kiểm tra nó. Repo bạn đang cố truy cập có quyền truy cập cvsweb không?

+0

Hum, hãy thử đặt tham số CVSROOT là một biến môi trường, đó là những gì tôi sử dụng, vì vậy bạn không phải truyền toàn bộ chuỗi bằng mọi lệnh. Tôi không bao giờ thử với ls mặc dù. –

+0

Tôi đã thử rằng cũng bằng cách nào đó mà không làm việc, hoặc, xem cập nhật của tôi trong câu hỏi. Có lẽ tôi đang thiếu một cái gì đó. –

+0

Bạn đang sử dụng phiên bản CVS nào? Tham số -list không tồn tại trong bất kỳ phiên bản nào mà tôi biết. –

3

Bạn cần phải làm một login đầu tiên, như thế này:

cvs -d: pserver: [email protected]:/CVSROOT/evocms đăng nhập

Sau đó, như những người khác đã nói, sử dụng ls command.

Đối với nền, thấy một discussion of remote repositories

+0

bây giờ tôi thấy, tôi nghĩ rằng vấn đề là trong máy tính của tôi, nơi -d không đặt biến môi trường, không biết tại sao. –

+0

Tôi đang làm điều này: "c: \> đặt cvsroot =: pserver: anonymous: @ evocms.cvs.sourceforge.net:/cvsroot/evocms" "c: \> cvs -list" - >> doesn ' t làm việc. –

+0

Bạn đã thử cvs -list pserver: [email protected]:/cvsroot/evocms – JeffH

0

All,

Đây là một cách toàn diện để làm điều đó:

  1. cháy lên dấu nhắc lệnh
  2. Sao chép này cvs -d CVSROOT đăng nhập (hoặc bất cứ điều gì CVSROOT tương ứng của bạn là)
  3. Nhập mật khẩu của bạn và nhấn enter khi được nhắc. Có thể mất một lúc, nhưng sau khi thực hiện xong, một lời nhắc mới sẽ có sẵn.
  4. Nhập cvs –d cvs -d CVSROOT ls
  5. BAM! Có danh sách của bạn

Hãy nhớ, nếu bạn chưa xác định CVSROOT, bạn chỉ có thể sao chép và dán CVSROOT của riêng bạn tại đây.

+0

Tôi không thể làm việc này với CVSROOT chứa giao thức ': ext:'. CVS phàn nàn rằng chỉ có 'pserver' được chấp nhận, tôi dường như không có quyền truy cập pserver ở đây tại nơi làm việc :-( –

14
cvs -d $CVSROOT rls 

hy vọng điều này giúp (cvs ver. 1.12.13)

+0

Xin chào, nó hoạt động! Cảm ơn! –

0

cvs -d [CVS_ROOT] rlog {module_name}

+0

'rlog', như' log', liệt kê sửa đổi, chứ không phải tệp. –

3

Đây là những gì tôi sử dụng. msolorzano là đăng nhập của tôi, và mật khẩu, và "Deployer" là mô-đun:

cvs -d :pserver:msolorzano:[email protected]:/cvsdata/data1 rlog -R Deployer 

... như một vấn đề của thực tế, bạn có thể bác sĩ thú y danh sách cvs của tập tin trong một "cách sạch" nếu bạn đang thực hiện các lệnh trong môi trường UNIX/Linux, như sau:

cvs -d :pserver:msolorzano:[email protected]:/cvsdata/data1 rlog Deployer | grep ',v' | sed 's/RCS file: //g' | sed s/,v//g 
Các vấn đề liên quan