web-dev-qa-db-fra.com

CVS: affiche les fichiers modifiés localement

Existe-t-il un moyen simple d'afficher uniquement les fichiers de mon référentiel ajoutés, supprimés ou modifiés localement? Je sais que je peux taper "cvs stat" et parcourir la liste des fichiers, mais c'est fastidieux et source d'erreurs. Je me demande s'il existe un moyen plus facile. J'utilise CVS 1.11.17, au cas où cela serait important.

42
Elias Zamaria

Une mise à jour "factice" vous donnera ces informations.

cvs -qn update

Une brève description des options utilisées:

-q      Cause CVS to be somewhat quiet.
-n      Do not execute anything that will change the disk.
77
CB Bailey

Vous pouvez obtenir une courte liste des différences à l’aide de la commande cvs diff:

cvs -q diff --brief
20
martin clayton

Transférez-le à grep!

cvs -Q status | grep -i locally
4
Ryan Joy

Voici ce que j'utilise:

cvs -Q status | grep -A 4 Locally | egrep -v '^\-\-|^   Working|^   Commit|^$' | awk '{print $2 " " $4}' | sed -e 's/\<Locally\>//;s/revision: \CVS-REPOSITORY-PATH/\t\t/'

Sortie:

pin_stages.ref 
            tests/unit/ccsn/pin_stages/pin_stages.ref,v
pin_stages_func.ref 
            tests/unit/ccsn/pin_stages_func/pin_stages_func.ref,v
2
cppRohit

Voici la liste des fichiers modifiés par le script nmake-Perl, elle est basée sur cvs update -qn:

DIRS=\
  c:\project1\
  c:\project2

all: $(DIRS)
  !cd $? & cvs -qn update | Perl -ne "s!\/!\\!g;print '$?\\'.qq($$1) if /^M (.*)/s;"
0
vtrz

vous pouvez utiliser la commande suivante pour obtenir la liste des fichiers que vous avez modifiés localement 

cvs -qn update | grep "M" | awk '{print $ 2}'

0
Ram

Effectuez une mise à jour CVS Les fichiers précédés de M sont des fichiers modifiés.

Exemple:

CVS Update
cvsntsrv server: Updating dat/idv
M dat/idv/conduct.idv  = Modified
...
0
Andre

Au lieu de cvs update -qn communément mentionné, vous pouvez utiliser la commande cvs release. Mais celui-ci est interactif et demande une confirmation à la fin de la sortie (il suffit donc de l’abandonner!). Sortie normale:

> cvs release .
...
U some/updated/file
M some/modified/file
...
You have [1] altered files in this repository.
Are you sure you want to release directory `.': n
** `release' aborted by user choice.
>

Après la question Are you sure you want to release directory '.':, vous avez mis quelque chose de différent de y ou Y.

0
flyer