- changed status to open
- removed comment
GetComponents: Allow !ANON_USER and !ANON_PASS not to be specified in a cvs checkout.
I would like to checkout cvs modules from a repository where ssh keys and ssh-agent are used to allow for a passwordless checkout. At the moment GetComponent doesn't seem to handle well this case. For example, once my keys are hold by ssh-agent the following command allows me to checkout cvs_module located at cvs_repo_path on cvsrepo repository:
cvs -d :ext:cvsrepo:cvs_repo_path co path_to_module/cvs_module
However if I set on the CRL file the following directives:
!TARGET = $ARR !TYPE = cvs !URL = :ext:cvsrepo:cvs_repo_path !REPO_PATH = path_to_module/$1 !CHECKOUT = cvs_module
I got the following error:
Checking out module: cvs_module
from repository: :@:ext:cvsrepo:cvs_repo_path
into: Cactus/arrangements
Executing: cvs -z9 -q -d :@:ext:cvsrepo:cvs_repo_path checkout cvs_module
In: Cactus/arrangements
cvs checkout: Unknown method (@') in CVSROOT.
cvs [checkout aborted]: Bad CVSROOT:
:@:ext:cvsrepo:cvs_repo_path'.
This happens because GetComponents expects the directives !ANON_USER and !ANON_PASS to be specified in a anonymous checkout (as I usually set when I use ssh keys to authenticate my access to a particular repository). However in doing so it prevents a passwordless checkout. The attached patch fix this problem, but maybe the best solution would be to allow the user to specify a promptless !AUTH_URL directive so that "$user:$pass\@" is not included in the repository specification.
Keyword:
Comments (3)
-
reporter -
- changed status to resolved
- removed comment
Applied, thanks.
-
- changed status to closed
- edited description
- Log in to comment