From pgbossi at gmail.com Wed Jan 28 14:29:20 2009 From: pgbossi at gmail.com (Piergiuliano Bossi) Date: Wed, 28 Jan 2009 09:29:20 -0500 Subject: [cvsspam-devel] RuntimeError => couldn't get cvs status: (exited with 256) Message-ID: Recently I've seen a lot of errors like these: /usr/local/lib/cvsspam/collect_diffs.rb:211:in `process_log': couldn't get cvs status: (exited with 256) (RuntimeError) from /usr/local/lib/cvsspam/collect_diffs.rb:195:in `each' from /usr/local/lib/cvsspam/collect_diffs.rb:195:in `process_log' from /usr/local/lib/cvsspam/collect_diffs.rb:178:in `open' from /usr/local/lib/cvsspam/collect_diffs.rb:178:in `process_log' from /usr/local/lib/cvsspam/collect_diffs.rb:465 It is really not clear to me what can cause this. These errors seem pretty random. In order to cope with them I've changed collect_diffs.rb in the following way: --- collect_diffs.rb.sav.27-1-09 2009-01-27 13:52:23.000000000 -0500 +++ collect_diffs.rb 2009-01-27 14:03:56.000000000 -0500 @@ -208,7 +208,15 @@ safer_popen($cvs_prog, "-nq", "status", change.file) do |io| status = io.read end - fail "couldn't get cvs status: #{$!} (exited with #{$?})" unless ($?>>8 + if ($?>>8)!=0 + if $debug + blah "If I wasn't debugging I'd have failed: couldn't get cvs statu + file.puts "ERROR: couldn't get cvs status: #{$!} (exited with #{$?} + file.puts " ==> cannot determine tag or if the file is binary!" + else + fail "couldn't get cvs status: #{$!} (exited with #{$?})" + end + end if status =~ /^\s*Sticky Tag:\s*(.+) \(branch: +/m tag = $1 Of course in this way you can't get the Tag, nor understanding if it's a binary file. I'm running it with debugging turned on. Any comment? Suggestions? Thanks, Giuliano -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.badgers-in-foil.co.uk/pipermail/cvsspam-devel/attachments/20090128/6ba2afd8/attachment.html