User login

Drush unable to checkout from CVS error

drush Unable to checkout from cvs.drupal.org

Fortunately, someone smarter than me solved the problem for themselves in three minutes on #drupal-support:

<phpgirl> Anyone here use "drush"? I'm trying to install a module and I get "Unable to checkout views from cvs.drupal.org"
<phpgirl> Ah, it would help if I actually had "cvs" installed, heh

Confirmed that this was my problem with the negative non-answers to these commands:

man cvs
cvs --version

And then installed CVS:

sudo aptitude install cvs

Fixed that.

The Drush error message could be more useful, but anyone putting the error message into search engines (who is smart enough to remove the specific module name) should at least find this page.

Resolution

Comments

I ran into a similar though

I ran into a similar though unrelated issues while trying to run Drush.

The first error message was unable to update {moduleName Here} from cvs.drupal.org

I verified CVS was installed on the server and even did a re-install using the CentOS version of apt-get

yum install cvs

I also made sure I was able to ping cvs.drupal.org - that wasn't the problem.
For good measure I added the 140.211.166.46 cvs.drupal.org to /etc/hosts
Then, I added port 2041 to the outgoing port on the csf firewall - also didn't fix the problem.

Finally, I looked at the drush code and noticed it used the shell_exec() function.

It happened that I had previously blocked shell_exec,dl,system,exec,passthru via the disable_functions setting in PHP. The benefit of disabling certain PHP functions are arguable. It can help to prevent some malicious PHP attacks. But, as I found, it hampers the occasional good use of command line functions. I later noticed the message exec() has been disabled for security reasons was recorded to the Drupal watchdog logs, so it was telling me the problem all along.

Drush started to working after removing the disable_functions limitation. Then, I started getting a new message MySQL server has gone away. I increased the wait_timeout setting of MySQL via the /etc/my.cnf and restarted MySQL. The message went away, though I'm not 100% sure if that was the fix or just a coincidence.

Even after all of this, Drush would update one module and then spit out another message about unable to checkout {moduleName here}. I kept running it until all modules were updated.

I hope this helps and hope I get Drush to update more than one module at a time.

wget vs CVS in Drush

I forgot to mention I was experiencing the problem on both Drupal 5 and Drupal 6.

Also, I found that disabling the "Drush package manager CVS support" module under /admin/build/modules made the unable to connect message go away. I believe this is because Drush switches from using CSV to use wget to do the download the update files. After the change the update of three modules happened in seconds.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.
  • You can use Markdown syntax to format and style the text. Also see Markdown Extra for tables, footnotes, and more.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <blockquote> <small> <h2> <h3> <h4> <h5> <h6> <sub> <sup> <p> <br> <strike> <table> <tr> <td> <thead> <th> <tbody> <tt> <output>
  • Lines and paragraphs break automatically.

More information about formatting options

By submitting this form, you accept the Mollom privacy policy.