Capistrano with CVS repository doesn't seem to work


#1

All,

Does anyone has any experience with Capistrano against a CVS repository?

I am unable to successfully pull a revision onto my remote server when
hitting a CVS repository.

Here is the relevant output from the cap “update_code” task:

  • executing "if [[ ! -d ~dusan/eSimplyTest/releases/20060410205540 ]];
    then\n
    cd ~dusan/eSimplyTest/releases;\n
    CVS_RSH=“ssh
    " cvs -d :pserver:user:pwd@host:/d//cvs -Q co -D “2006-04-05 22:4
    9:05” -d 20060410205540 eSimplyOnlineRails;\n\n (test -e
    ~dusan/e
    SimplyTest/revisions.log || touch ~dusan/eSimplyTest/revisions.log &&
    chmod 666
    ~dusan/eSimplyTest/revisions.log) && echo date +\"%Y-%m-%d %H:%M:%S\"
    $USER 20
    06-04-05 22:49:05 20060410205540 >> ~dusan/eSimplyTest/revisions.log;\n
    fi”
    servers: [“192.168.1.102”]
    [192.168.1.102] executing command

Looks to me like this command is probably successfully setting a
variable named CVS_RSH and that’s pretty much it. The actual CVS
command looks right but I don’t think that it ever gets executed.

I replaced user, pwd, and host for their real values :).

Thanks,
Wes G.


#2

Resolved

I am in a strange situation where I have two different IP addresses that
I need to use to address the CVS repository, so I had to add another
variable to my Capistrano configuration file and use that to do the
query for the latest revision.

Still - any Capistrano/CVS heads out there?

Wes

Wes G. wrote:

All,

Does anyone has any experience with Capistrano against a CVS repository?

I am unable to successfully pull a revision onto my remote server when
hitting a CVS repository.

Here is the relevant output from the cap “update_code” task:

  • executing "if [[ ! -d ~dusan/eSimplyTest/releases/20060410205540 ]];
    then\n
    cd ~dusan/eSimplyTest/releases;\n
    CVS_RSH=“ssh
    " cvs -d :pserver:user:pwd@host:/d//cvs -Q co -D “2006-04-05 22:4
    9:05” -d 20060410205540 eSimplyOnlineRails;\n\n (test -e
    ~dusan/e
    SimplyTest/revisions.log || touch ~dusan/eSimplyTest/revisions.log &&
    chmod 666
    ~dusan/eSimplyTest/revisions.log) && echo date +\"%Y-%m-%d %H:%M:%S\"
    $USER 20
    06-04-05 22:49:05 20060410205540 >> ~dusan/eSimplyTest/revisions.log;\n
    fi”
    servers: [“192.168.1.102”]
    [192.168.1.102] executing command

Looks to me like this command is probably successfully setting a
variable named CVS_RSH and that’s pretty much it. The actual CVS
command looks right but I don’t think that it ever gets executed.

I replaced user, pwd, and host for their real values :).

Thanks,
Wes G.


#3

Wes,

We’re using Capistrano with CVS. We love Cap and we appreciate the
built-in CVS support, though we did end up overriding much of it with
our own Capistrano::SCM::CvsDuke.

We changed the cvs support so that capistrano will check out a specific
branch or version and we removed the bit where capistrano needed a local
cvs.exe. We also prompt for a cvs password every time.

If you’re interested, the code is at
http://rafb.net/paste/results/4nWjDW73.html

Sandi