HI Pavel,
Yes it seems you have a similar sequence. My two cents is that the tree
resolver function doesn’t take unversioned files into account. As this relates
to data loss this is a quite serious bug.
Thanks for your speedy response .
Kind regards,
[cid:image001.png@01D8F98E.09504F40]
Marcel Delorme
Head of Software
[cid:image002.png@01D8F98E.09504F40]<https://venturasystems.com/>
Phone: +31 (0) 515 729433
Email: m.delo...@venturasystems.com<mailto:m.delo...@venturasystems.com>
Address: De Marne 216, 8701 MH Bolsward, Netherlands
[cid:image003.png@01D8F98E.09504F40]<https://www.linkedin.com/company/ventura-systems-bv>
[cid:image004.png@01D8F98E.09504F40]<https://www.facebook.com/Ventura-Systems-130403847033358/>
From: Pavel Lyalyakin
Sent: Tuesday, 15 November 2022 17:52
To: Marcel Delorme
Cc: users@subversion.apache.org; Klaas de Jong
Subject: [EXTERNAL]: Re: Removing if unversioned files during a tree conflict
resolve.
CAUTION: This email originated from outside Ventura Systems. Do not click links
or open attachments unless you recognize the sender and know the content is
safe.
On Tue, Nov 15, 2022 at 7:36 PM Marcel Delorme
mailto:m.delo...@venturasystems.com>> wrote:
HI,
I think we spotted a bug. The following sequence has been followed:
* User 1 renames a svn folder and commits this
* User 2 has unversioned files and uncommited files in the renamed folder
* User 2 performs an update
* Subversion encounter a tree conflict
* All files are still on the disk during this step
* Subversion solves three conflict.
* unversioned files are removed from users 2 disk.
The unversioned files are retained in the old folder with the old name when the
same sequence is executed with no uncommited files on users 2 computer.
This all has been performed using : Svn, version 1.14.2 (r1899510)
compiled Sep 24 2022, 10:21:16 on x86-microsoft-windows
using Microsoft Windows [Version 10.0.19045.2130].
Kind regards,
[cid:image001.png@01D8F98E.09504F40]
Marcel Delorme
Head of Software
[cid:image002.png@01D8F98E.09504F40]<https://eur05.safelinks.protection.outlook.com/?url=https%3A%2F%2Fventurasystems.com%2F&data=05%7C01%7Cm.delorme%40venturasystems.com%7Ccb3b63f5a8f542320cbc08dac729c13a%7C33a123c07f444ab59dd5e7c896845f4f%7C1%7C0%7C638041279414207259%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Bkw83UrJxl40wRzAXVhTHC8r6yOwpcH2Q4HD%2BWX9eJY%3D&reserved=0>
Phone: +31 (0) 515 729433
Email: m.delo...@venturasystems.com<mailto:m.delo...@venturasystems.com>
Address: De Marne 216, 8701 MH Bolsward, Netherlands
[cid:image003.png@01D8F98E.09504F40]<https://eur05.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.linkedin.com%2Fcompany%2Fventura-systems-bv&data=05%7C01%7Cm.delorme%40venturasystems.com%7Ccb3b63f5a8f542320cbc08dac729c13a%7C33a123c07f444ab59dd5e7c896845f4f%7C1%7C0%7C638041279414207259%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=g9k9kqQ0%2FgUnxhNmcs5jrfHjddFWmp6rtyoohRYL0aU%3D&reserved=0>
[cid:image004.png@01D8F98E.09504F40]<https://eur05.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.facebook.com%2FVentura-Systems-130403847033358%2F&data=05%7C01%7Cm.delorme%40venturasystems.com%7Ccb3b63f5a8f542320cbc08dac729c13a%7C33a123c07f444ab59dd5e7c896845f4f%7C1%7C0%7C638041279414363437%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=6M2jfLwdjYfK%2B4lTRDu3j%2BGn3y17yzbn4LcXj8RfJXw%3D&reserved=0>
It seems that this behavior reproduces on my side with svn, version 1.14.2
(r1899510) on Windows. I'm not sure if my reproduction script is correct, but
the behavior looks similar.
The file unversionedfile.txt is missing after the svn client automatically
solves the tree conflict when updating a working copy.
Here is the script (Windows Batch):
[[[
mkdir C:\marcel-bug-report
svnadmin create C:\marcel-bug-report\MyRepo
svn mkdir file:///C:/marcel-bug-report/MyRepo/MyDir -m "Adding a new directory"
svn checkout file:///C:/marcel-bug-report/MyRepo/
C:\marcel-bug-report\working-copy-one
echo foo > C:\marcel-bug-report\working-copy-one\MyDir\myfile.txt
svn add C:\marcel-bug-report\working-copy-one\MyDir\myfile.txt
svn commit C:\marcel-bug-report\working-copy-one\ -m "Adding a new file"
echo bar > C:\marcel-bug-report\working-copy-one\MyDir\myfile.txt
echo baz > C:\marcel-bug-report\working-copy-one\MyDir\unversionedfile.txt
svn move file:///C:/marcel-bug-report/MyRepo/MyDir
file:///C:/marcel-bug-report/MyRepo/RenamedDir -m "Renaming a directory"
svn update C:\marcel-bug-report\working-copy-one
]]]
[[[
C:\Users\Lyalyakin>svn update C:\marcel-bug-report\working-copy-one
Updating 'C:\marcel-bug-report\working-copy-one'