Bonjour,

Mon soucis est le suivant :
je cherche a faire cela a partir d'un compte generique d'un server linux :
cvs -z3 -f -d :ext:monLogin@monServerCVS:/refcvs/applis/list/cvs checkout -d test monAppli

j'ai bien la variable d'environnement CVS_RSH=ssh mais je suis obligé de mettre ma clef privée dans le repertoire ~/.ssh/id_rsa ce qui n'est pas top du tout vu qu'il s'agit d'un compte generique !
Je cherche donc a specifier une clef privee dans un autre repertoire comme on peut le faire avec ssh -i /mon/path/vers/ma/clef/privee/id_rsa

Je n'ai pas trouvé d'option CVS pour specifier le path de ma clef privee.
J'ai donc creer un shell script (ssh4cvs.sh) de la sorte pour pallier ce probleme :

#! /bin/sh
# Arrange so that ssh's stderr is never stdout,
# by interposing a "cat" process between ssh's
# stderr and our stderr. Why bother? Because
# ssh puts stderr into nonblocking mode, and
# CVS (which uses stdio for stdout) gets confused
# if stdout and stderr are the same file.
# See:
# http://lists.gnu.org/archive/html/bu.../msg00032.html
exec 3>&1
exit `((ssh -i /mon/path/vers/ma/clef/privee/id_rsa "$@" 2>&1 >&3; echo $? >&4) | cat -u >&2) 4>&1`

et changer la variable d'envir pour CVS_RSH=ssh4cvs.sh

Cela marche correctement mais je suis surement passé a cote d'une option cvs ? Cela a certainement ete prevue ?

Merci de m'eclairer si quelqu'un a une piste.

Ciao

ps : merci a la FAQ http://ximbiot.com/cvs/wiki/CVS%20FAQ pour son script