When I click the "fetch now" link of a repository I get the following error:

warning: file_get_contents(E:\php\upload_temp/drupal_versioncontrol_cvs.stderr.614089474.txt) [function.file-get-contents]: failed to open stream: No such file or directory in E:\Web\drupal-6.11\sites\all\modules\versioncontrol_cvs\cvslib\cvslib.inc on line 118.

Followed the directions as layed out here: http://drupal.org/node/402336

Running on Windows 2000 IIS, PHP 5.2.9-2, and Drupal 6.11. My repository root is setup like this:

:pserver:<username>:<password>@<serveripaddress>:<port>/<path>

This repository root works from my local machine and was taken directly from Netbeans versioning. I gave full read/write access "E:\php\upload_temp" but I am wondering if it is a permissions issue somewhere else or if the "/" in "E:\php\upload_temp/drupal_versioncontrol_cvs.stderr.614089474.txt" is throwing Windows for a loop.

Comments

jpetso’s picture

Version Control API's predecessor cvs.module was clearly Unix-only (especially in the release tarball creation scripts), and although I might have improved some stuff though abstraction and generic/portable approaches, I did not undertake any active efforts to make Version Control API or the CVS backend work on Windows. I'll take patches for making things work, but lacking a Windows test server as well as an incentive to make it work there, I'm not going to put any effort into this by myself.

As far as I know, Windows accepts both "\" and "/" as directory name delimiter, and if I remember correctly then Drupal core also uses the forward slash in file.inc. So while there might be a chance that the slash has something to do with it, I think that's probably not the problem. Don't know what it might be, though. Maybe the shell redirection for stderr doesn't work for the Windows shell (cmd.exe) as it works on Unix, see the _cvslib_add_output_pipes() in cvslib.inc, the part where it appends "2> [filename]" to the "cvs" command... that would be my first guess on where the problem could be located.

sdboyer’s picture

Probably won't solve this actual problem (that output pipes thing sounds likely), but one thought re: the forward/backward slash, is the DIRECTORY_SEPARATOR constant that php provides. I dunno if there's a reason why we don't use it in core already, but I've taken to using it in all my code now whenever I need to express the directory delimiter.