Removing if unversioned files during a tree conflict resolve.

2022-11-15 Thread Marcel Delorme
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@01D8F908.E9F7DEE0]

Marcel Delorme
Head of Software
[cid:image002.png@01D8F908.E9F7DEE0]<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@01D8F908.E9F7DEE0]<https://www.linkedin.com/company/ventura-systems-bv>
[cid:image004.png@01D8F908.E9F7DEE0]<https://www.facebook.com/Ventura-Systems-130403847033358/>



RE: [EXTERNAL]: Re: Removing if unversioned files during a tree conflict resolve.

2022-11-16 Thread Marcel Delorme
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'