--- subversion/libsvn_fs_fs/fs_fs.c.orig	2011-05-17 12:15:16.000000000 +0200
+++ subversion/libsvn_fs_fs/fs_fs.c	2011-08-03 16:04:34.861610700 +0200
@@ -4550,19 +4550,19 @@
                const char *copy_id,
                apr_pool_t *pool)
 {
-  apr_file_t *file;
-  svn_stream_t *out_stream;
+  char *buf;
+  const char *tmp_name, *name;
 
-  SVN_ERR(svn_io_file_open(&file, path_txn_next_ids(fs, txn_id, pool),
-                           APR_WRITE | APR_TRUNCATE,
-                           APR_OS_DEFAULT, pool));
+  buf = apr_psprintf(pool, "%s %s\n", node_id, copy_id);
 
-  out_stream = svn_stream_from_aprfile2(file, TRUE, pool);
+  name = path_txn_next_ids(fs, txn_id, pool);
 
-  SVN_ERR(svn_stream_printf(out_stream, pool, "%s %s\n", node_id, copy_id));
+  SVN_ERR(svn_io_write_unique(&tmp_name,
+                              svn_path_dirname(name, pool),
+                              buf, strlen(buf),
+                              svn_io_file_del_none, pool));
 
-  SVN_ERR(svn_stream_close(out_stream));
-  return svn_io_file_close(file, pool);
+  return move_into_place(tmp_name, name, name, pool);
 }
 
 /* Find out what the next unique node-id and copy-id are for
