OVH Cloud OVH Cloud

Lister des branches CVS

3 réponses
Avatar
Remi Moyen
Salut,

Je suis pas sûr que ce groupe soit le plus adapté pour une question sur
CVS, mais j'en vois pas vraiment de mieux, et je me dis que les unixiens
qui traînent ici utilisent certainement aussi CVS, alors...

Je cherche comment faire pour obtenir la liste de toutes les branches
disponibles pour un module. Je travaille sur un logiciel dont il existe un
tas de versions en cours, qui sont autant de branches du module principal.

Quand je récupère un truc, je fais donc "cvs co -r branch_tag module".
Mais la syntaxe des noms de branches n'est pas toujours la même, et je ne
les connais pas toutes non plus. J'aimerais donc pouvoir connaître toutes
les branches existantes pour ce module.

Pour l'instant, je vais regarder un fichier du module que je sais être
modifié dans chaque branche avec 'cvs log', et je regarde la liste des
tags dedans. Je pourrais faire un script pour automatiser ça, mais je
pense qu'il doit exister une fonction de CVS pour le faire ? Et si ce
fichier n'est pas modifié dans une des branches, tant pis pour moi...

Je n'ai rien trouvé dans le man de cvs, mais je ne prétendrais pas non
plus avoir tout compris de ce qui est dedans (ni même tout lu en
détail)...
--
Rémi Moyen
"Malgré les apparences, le temps est très varié à Nancy :
pluie, nuages, neige, brouillard, grêle, ..."

3 réponses

Avatar
Jean-Marc Bourguet
Remi Moyen writes:

Je suis pas sûr que ce groupe soit le plus adapté pour une question sur
CVS, mais j'en vois pas vraiment de mieux, et je me dis que les unixiens
qui traînent ici utilisent certainement aussi CVS, alors...


A lire les chartes, fr.comp.developpement (ou je place le suivi -- et
la copie sur ce groupe est la raison pour laquelle je ne coupe rien de
ton message) me semble le plus adapte.

Je cherche comment faire pour obtenir la liste de toutes les
branches disponibles pour un module. Je travaille sur un logiciel
dont il existe un tas de versions en cours, qui sont autant de
branches du module principal.

Quand je récupère un truc, je fais donc "cvs co -r branch_tag
module". Mais la syntaxe des noms de branches n'est pas toujours la
même, et je ne les connais pas toutes non plus. J'aimerais donc
pouvoir connaître toutes les branches existantes pour ce module.

Pour l'instant, je vais regarder un fichier du module que je sais
être modifié dans chaque branche avec 'cvs log', et je regarde la
liste des tags dedans. Je pourrais faire un script pour automatiser
ça, mais je pense qu'il doit exister une fonction de CVS pour le
faire ? Et si ce fichier n'est pas modifié dans une des branches,
tant pis pour moi...

Je n'ai rien trouvé dans le man de cvs, mais je ne prétendrais pas
non plus avoir tout compris de ce qui est dedans (ni même tout lu en
détail)...


Nous utilisons ici un "tkcvs" qui permet entre autre d'avoir une vue
graphique de l'evolution d'un fichier. Si c'est pour scripter, ca ne
dois pas te convenir, sinon ca peut etre utile.

A+

--
Jean-Marc
Site de usenet-fr: http://www.usenet-fr.news.eu.org

Avatar
Jean-Marc Bourguet
(Supersedes, naturellement j'ai oublie de mettre fcd en copie et en suivi)

Remi Moyen writes:

Je suis pas sûr que ce groupe soit le plus adapté pour une question sur
CVS, mais j'en vois pas vraiment de mieux, et je me dis que les unixiens
qui traînent ici utilisent certainement aussi CVS, alors...


A lire les chartes, fr.comp.developpement (ou je place le suivi -- et
la copie sur ce groupe est la raison pour laquelle je ne coupe rien de
ton message) me semble le plus adapte.

Je cherche comment faire pour obtenir la liste de toutes les
branches disponibles pour un module. Je travaille sur un logiciel
dont il existe un tas de versions en cours, qui sont autant de
branches du module principal.

Quand je récupère un truc, je fais donc "cvs co -r branch_tag
module". Mais la syntaxe des noms de branches n'est pas toujours la
même, et je ne les connais pas toutes non plus. J'aimerais donc
pouvoir connaître toutes les branches existantes pour ce module.

Pour l'instant, je vais regarder un fichier du module que je sais
être modifié dans chaque branche avec 'cvs log', et je regarde la
liste des tags dedans. Je pourrais faire un script pour automatiser
ça, mais je pense qu'il doit exister une fonction de CVS pour le
faire ? Et si ce fichier n'est pas modifié dans une des branches,
tant pis pour moi...

Je n'ai rien trouvé dans le man de cvs, mais je ne prétendrais pas
non plus avoir tout compris de ce qui est dedans (ni même tout lu en
détail)...


Nous utilisons ici un "tkcvs" qui permet entre autre d'avoir une vue
graphique de l'evolution d'un fichier. Si c'est pour scripter, ca ne
dois pas te convenir, sinon ca peut etre utile.

A+

--
Jean-Marc
Site de usenet-fr: http://www.usenet-fr.news.eu.org

Avatar
Pascal Bourguignon
Remi Moyen writes:

Salut,

Je suis pas sûr que ce groupe soit le plus adapté pour une question sur
CVS, mais j'en vois pas vraiment de mieux, et je me dis que les unixiens
qui traînent ici utilisent certainement aussi CVS, alors...

Je cherche comment faire pour obtenir la liste de toutes les branches
disponibles pour un module. Je travaille sur un logiciel dont il existe un
tas de versions en cours, qui sont autant de branches du module principal.

Quand je récupère un truc, je fais donc "cvs co -r branch_tag module".
Mais la syntaxe des noms de branches n'est pas toujours la même, et je ne
les connais pas toutes non plus. J'aimerais donc pouvoir connaître toutes
les branches existantes pour ce module.

Pour l'instant, je vais regarder un fichier du module que je sais être
modifié dans chaque branche avec 'cvs log', et je regarde la liste des
tags dedans. Je pourrais faire un script pour automatiser ça, mais je
pense qu'il doit exister une fonction de CVS pour le faire ? Et si ce
fichier n'est pas modifié dans une des branches, tant pis pour moi...

Je n'ai rien trouvé dans le man de cvs, mais je ne prétendrais pas non
plus avoir tout compris de ce qui est dedans (ni même tout lu en
détail)...


Personnelement, j'utilise ce petit script pour obtenir la liste de
toutes les étiquettes. C'est plutôt lent, mais ça fonctionne:

$ cat /local/bin/cvs-all-tags
#!/bin/sh
cvs log 2>&1 | egrep '^ [-A-Za-z0-9_][-A-Za-z0-9_]*:.*$' | sed -e 's/ ([^:]*):.*/1/' | sort -u


(Noter les deux tabluations:
$ cat -T /local/bin/cvs-all-tags
#!/bin/sh
cvs log 2>&1 | egrep '^^I[-A-Za-z0-9_][-A-Za-z0-9_]*:.*$' | sed -e 's/^I([^:]*):.*/1/' | sort -u
)

--
__Pascal Bourguignon__ http://www.informatimago.com/

Nobody can fix the economy. Nobody can be trusted with their finger
on the button. Nobody's perfect. VOTE FOR NOBODY.