Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unable to commit to Subversion

Tags:

svn

I have a client who had to rebuild his automated build server. He checked out his project folder from my subversion server but is now no longer able to commit - he gets this error:

Error: Commit failed (details follow):   Error: Cannot write to the prototype revision file of transaction '551-1' because a    Error: previous representation is currently being written by another process   Finished!:    

I have searched Google but although this error has been often reported there is no clear explanation - does anyone on StackOverflow have a solution?

UPDATE: Nobody else commits to that repository, so it was not a transaction stuck (at least not from another user). In the end we found that permissions were not set correctly. Not that you would know it from this message, but that fixed the problem.

like image 941
Ewan Makepeace Avatar asked Dec 03 '08 23:12

Ewan Makepeace


People also ask

Why SVN locked?

The lock tells other users that the file is being edited, and you can avoid merge issues. When you set up source control, you can configure SVN to make files with certain extensions read only. Users must get a lock on these read-only files before editing.

Why is Git better than SVN?

Many people prefer Git for version control for a few reasons: It's faster to commit. Because you commit to the central repository more often in SVN, network traffic slows everyone down. Whereas with Git, you're working mostly on your local repository and only committing to the central repository every so often.


1 Answers

You can clear this error w/out a reboot:

  1. Identify (or create) a directory in the root SVN repository that was not a part of the failed commit.

  2. Create a new file in the directory from step 1.

  3. Commit the new file (and directory if created in step 1). Because the file is new, it doesn't conflict w/the previous commit and can update the revision # on the server.

  4. Commit the original files/directories.

  5. Delete the new file (and directory if created in step 1).

  6. Commit the entire tree.

**Steps 5 & 6 aren't required, but I like to keep my repository tidy...

I get this error a lot b/c SVN frequently conks out in the middle of committing my large files, which in turn causes subsequent commits to try to write to the revision that was interrupted.

like image 88
Captain Obvious Avatar answered Oct 14 '22 00:10

Captain Obvious