Hello,

On 2022/09/19 9:57, Vincent Lefevre wrote:
> On 2022-09-18 01:59:35 +0200, Vincent Lefevre wrote:
>> On 2022-09-18 01:41:38 +0200, Vincent Lefevre wrote:
>>> With svn 1.14.2 under Debian/unstable, I wanted to edit a log message
>>> with
>>>
>>>   svn pe --revprop svn:log -r 151946
>>>
>>> (not just a minor change, I was replacing text by a much longer text),
>>> but got an immediate error from SSH:
>>
>> Note: after quitting the editor.
> 
> The issue can be reproduced by creating a wrapper script to ssh and
> using
> 
>   SVN_SSH=/path/to/this/script svn propedit ...
>
> Before quitting the editor, change this script to "exit 1" in order
> to simulate a ssh failure. The /tmp/svn-prop.tmp file the user has
> modified is no longer there, and there does not seem to be a backup
> anywhere else (the error message doesn't tell anyway).
>
> Note: I'm using the "svn+ssh" scheme. I don't know whether this bug
> also occurs with the https scheme (I cannot try).

I can't determine whether this behavior is a bug or not. 

As svn_cl__propedit() calls svn_cmdline__edit_string_externally()[1]
for editing revprop value string with the parameter tempfail_reft is
NULL[2], the temporary file is removed within the function
svn_cmdline__edit_string_externally(), before trying to set the new
value.  So, it can be reproduced in any scheme, even "file" scheme,
by rejecting the change of revprop values in pre-revprop-change
hook.

[1] subversion/include/private/svn_cmdline_private.h, line 1688
https://svn.apache.org/viewvc/subversion/trunk/subversion/include/private/svn_cmdline_private.h?annotate=1821224#l168
[2] subversion/svn/propedit-cmd.c,line 143
https://svn.apache.org/viewvc/subversion/trunk/subversion/svn/propedit-cmd.c?annotate=1885997#l143

Cheers,
-- 
Yasuhito FUTATSUKI <futat...@yf.bsclub.org>

Reply via email to