You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@whimsical.apache.org by se...@apache.org on 2020/07/08 09:38:58 UTC

[whimsy] branch master updated: Detect commit error

This is an automated email from the ASF dual-hosted git repository.

sebb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/whimsy.git


The following commit(s) were added to refs/heads/master by this push:
     new 76b7f5d  Detect commit error
76b7f5d is described below

commit 76b7f5d70619cb3e7843fda614ea4b6fcff56006
Author: Sebb <se...@apache.org>
AuthorDate: Wed Jul 8 10:38:47 2020 +0100

    Detect commit error
---
 lib/whimsy/asf/svn.rb | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/lib/whimsy/asf/svn.rb b/lib/whimsy/asf/svn.rb
index 476b7cf..abb8935 100644
--- a/lib/whimsy/asf/svn.rb
+++ b/lib/whimsy/asf/svn.rb
@@ -748,9 +748,16 @@ module ASF
         throw RuntimeError.new("#{filename} already exists! #{err}")
       end
       commands = [['put', source, target]]
-      # TODO: detect file created in parallel. This generates the error message:
+      # Detect file created in parallel. This generates the error message:
       # svnmucc: E160020: File already exists: <snip> path 'xxx'
-      self.svnmucc_(commands, msg, env, _, parentrev)
+      rc = self.svnmucc_(commands, msg, env, _, parentrev)
+      unless rc == 0
+        error = _.target?['transcript'][1] rescue ''
+        unless error =~ %r{^svnmucc: E160020: File already exists:}
+          throw RuntimeError.new("Unexpected error creating file: #{error}")
+        end
+      end
+      rc
     end
 
     # DRAFT DRAFT DRAFT