You should simply catch MagmaCommitError instead of Error. Also, I
recommend moving the return outside of the critical block. I also
suggest simply #pass'ing the original error rather than #signal'ing a
new one, since the original error contains all of the details about
the conflicting objects and who changed them.
When a commit fails, the conflicting objects in the image are updated
with the repository contents. Whether it is necessary to abort all
other work done by that client is up to the application. It is not
always so, but it makes sense that sometimes it would be desirable..
On Tue, Oct 5, 2010 at 2:34 AM, Denis Kudriashov <[hidden email]> wrote: