Index: subversion/bindings/swig/svn_fs.i
===================================================================
--- subversion/bindings/swig/svn_fs.i	(revision 5094)
+++ subversion/bindings/swig/svn_fs.i	(working copy)
@@ -122,6 +122,22 @@
         svn_swig_py_convert_hash(*$1, SWIGTYPE_p_svn_fs_path_change_t));
 }
 
+/* -----------------------------------------------------------------------
+   Fix the return value for svn_fs_commit_txn(). If the conflict result is
+   NULL, then t_output_helper() is passed Py_None, but that goofs up
+   because that is *also* the marker for "I haven't started assembling a
+   multi-valued return yet" which means the second return value (new_rev)
+   will not cause a 2-tuple to be manufactured.
+
+   The answer is to explicitly create a 2-tuple return value.
+*/
+%typemap(python, argout) (const char **conflict_p, svn_revnum_t *new_rev) {
+    /* this is always Py_None */
+    Py_DECREF($result);
+    /* build the result tuple */
+    $result = Py_BuildValue("zi", *$1, (long)*$2);
+}
+
 /* ----------------------------------------------------------------------- */
 
 


