Come posso elencare i file in CVS senza una verifica iniziale?
-
23-08-2019 - |
Domanda
Come posso elencare i file CVS senza una verifica iniziale?
In sovversione posso semplicemente fare "svn ls http://svn.svn.com " in CVS come posso fare questo?
Per esempio io ho questa connessione CVS:
pserver:anonymous@evocms.cvs.sourceforge.net:/cvsroot/evocms
Come posso elencare tutti i file in essa?
UPDATE:
sto facendo questo:
c:\>set CVSROOT=pserver:anonymous@evocms.cvs.sourceforge.net:/cvsroot/evocms
c:\>cvs -list ---> doesn't work, prints out the help screen
Soluzione
Se si tratta di un'operazione una tantum che non è necessario impostare la variabile d'ambiente CVSROOT
. Basta usare l'argomento -d
per la specificazione repository ad-hoc.
Se la versione di CVS / CVSNT non è troppo vecchio (per l'esattezza avresti bisogno sia CVS 1.12.8 o superiore o CVSNT) poi, come altri hanno detto, dopo aver registrato in
cvs ls
dovrebbe funzionare bene.
Se la versione di CVS / CVSNT non supporta il comando ls
allora si può provare
cvs checkout -c
che solo scaricare l'elenco dei predefinita moduli .
Se la versione di CVS / CVSNT è abbastanza vecchio si potrebbe ottenere fortunati con il seguente trucco (non funziona con le versioni più recenti di CVSNT a meno che la modalità di compatibilità è stato abilitato sul server):
In primo luogo controllare la radice del repository in una certa posizione temporanea, quindi abbiamo i metadati necessari:
cvs -d[your CVSROOT string] co -l -dTemp .
Poi simulare un aggiornamento (con le directory) di quella cartella:
cd Temp
cvs -n up -d
Questa emetterà (quasi) la stessa uscita come un vero e proprio checkout senza realmente ottenere i file dal server.
Se siete su Windows e con una versione abbastanza recente di CVSNT come il client poi cvs ls
sarà effettivamente cadere automaticamente a questo meccanismo quando rileva un server che non supporta ls
sé.
Oh sì, e AFAICT non v'è alcuna cosa come cvs -list
. Non è nemmeno valida sintassi della riga comandi CVS: -list
dovrebbe essere un argomento globale piuttosto che un comando come segue direttamente dopo il cvs
e non v'è alcun comando effettivo specificato. Ma poi di nuovo, tutti gli argomenti multi-lettere (come --help
) dovrebbero iniziare con un doppio trattino, ad esempio cvs --version
. Stavi tutto forse pensando di cvs list
che sarebbe una mera alias per cvs ls
?
Altri suggerimenti
cvs -d $CVSROOT rls
Spero che questo aiuti (CVS ver. 1.12.13)
Hai bisogno di fare un login prima, in questo modo:
cvs -d: pserver: anonymous@evocms.cvs.sourceforge.net: / cvsroot / evocms login
Quindi, come altri hanno detto, utilizzare il ls comando .
Per sfondo, vedere un discussione dei repository remoti
Questo è quello che uso. msolorzano è il mio login e la password, e "Deployer" è il modulo:
cvs -d :pserver:msolorzano:password@gtess-cvs:/cvsdata/data1 rlog -R Deployer
... come un dato di fatto, è possibile controllare un elenco cvs di file in una "maniera pulita", se si sta eseguendo i comandi in ambiente UNIX / Linux, in questo modo:
cvs -d :pserver:msolorzano:password@gtess-cvs:/cvsdata/data1 rlog Deployer | grep ',v' | sed 's/RCS file: //g' | sed s/,v//g
c'è un comando simile a cvs
utilizzo: cvs LS
cvs -list alla lista moduli, ls per elencare i contenuti di moduli.
EDIT: Hanno ragione, la lista dei comandi e ls sono la stessa cosa, mi dispiace per quello
.e Io non vedo proprio come elencare una directory cvs senza realmente estrarlo. Ha il repo vostro stanno cercando di accedere ad avere un accesso CVSweb?
Tutti,
Ecco un modo completo per farlo:
- Accendi il prompt dei comandi
- Copia questo cvs -d login CVSROOT (o, qualunque sia il vostro corrispondente è CVSROOT)
- Digitare la password e premere invio quando richiesto. Si può prendere un po ', ma dopo aver fatto ciò, un nuovo prompt sarà disponibile.
- Digitare cvs -d cvs -d ls CVSROOT
- BAM! C'è la tua inserzione
Tenete a mente, se non si dispone di CVSROOT definito, solo è possibile copiare e incollare il proprio CVSROOT qui.
cvs -d [CVS_ROOT] rlog {module_name}