Ivan Zhakov <i...@visualsvn.com> writes:

>>>    SVN_ERR(svn_stream__create_for_install(&stream, deep_dir, pool, pool));
>>>    SVN_ERR(svn_stream_puts(stream, "stream1 content"));
>>> +  SVN_ERR(svn_stream_close(stream));
>>>    SVN_ERR(svn_stream__install_stream(stream,
>>>                                       final_abspath,
>>>                                       TRUE,
>>
>>
>> Um, surely that can't be right? Using the stream after it's been closed?
>>
> I'm also find this behavior a little bit confusing, but this is how it
> works now: install_stream should be closed before installing. Windows
> implementation perform flush on close, while unix implementation
> closes the file handle. The current callers (run_file_install in
> workqueue.c:587) also closes install_stream before installing it.

While svn_stream__install_stream doesn't explicitly document that a
closed stream can be passed it is part of the documentation for
svn_stream__install_get_info.

The documentation for svn_stream__create_for_install appears to have got
mangled:

   Creates as *INSTALL_STREAM a stream that once completed can be installed
   using Windows checkouts much slower than Unix.

What does "can be installed using Windows checkouts much slower than
Unix" mean?


-- 
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*

Reply via email to