You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Marcel Delorme <m....@venturasystems.com> on 2022/11/15 14:42:50 UTC

Removing if unversioned files during a tree conflict resolve.

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<tel:+31%20(0)%20515%20729433>
Email: m.delorme@venturasystems.com<ma...@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.

Posted by Marcel Delorme <m....@venturasystems.com>.
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<tel:+31%20(0)%20515%20729433>
Email: m.delorme@venturasystems.com<ma...@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 <pa...@visualsvn.com>
Sent: Tuesday, 15 November 2022 17:52
To: Marcel Delorme <m....@venturasystems.com>
Cc: users@subversion.apache.org; Klaas de Jong <k....@venturasystems.com>
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 <m....@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<tel:+31%20(0)%20515%20729433>
Email: m.delorme@venturasystems.com<ma...@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':
   C C:\marcel-bug-report\working-copy-one\MyDir
A    C:\marcel-bug-report\working-copy-one\RenamedDir
A    C:\marcel-bug-report\working-copy-one\RenamedDir\myfile.txt
Updated to revision 3.
Summary of conflicts:
  Tree conflicts: 1
Searching tree conflict details for 'C:\marcel-bug-report\working-copy-one\MyDir' in repository:
Checking r3... done
Tree conflict on 'C:\marcel-bug-report\working-copy-one\MyDir':
Directory updated from r1 to r3 was moved to '^/RenamedDir' by Lyalyakin in r3.
A directory containing uncommitted changes was found in the working copy.
Applying recommended resolution 'Move and merge':
   C C:\marcel-bug-report\working-copy-one\RenamedDir\myfile.txt
At revision 3.
Tree conflict at 'C:\marcel-bug-report\working-copy-one\MyDir' marked as resolved.
Summary of conflicts:
  Tree conflicts: 1 remaining (and 1 already resolved)
]]]
[[[
C:\Users\Lyalyakin>svn status -v C:\marcel-bug-report\working-copy-one
                 3        3 Lyalyakin    C:\marcel-bug-report\working-copy-one
                 3        3 Lyalyakin    C:\marcel-bug-report\working-copy-one\RenamedDir
      C          3        2 Lyalyakin    C:\marcel-bug-report\working-copy-one\RenamedDir\myfile.txt
      >   local file unversioned, incoming file add upon update
Summary of conflicts:
  Tree conflicts: 1
]]]

--
With best regards,
Pavel Lyalyakin
VisualSVN Team

Re: Removing if unversioned files during a tree conflict resolve.

Posted by Pavel Lyalyakin via users <us...@subversion.apache.org>.
On Tue, Nov 15, 2022 at 7:36 PM Marcel Delorme <m....@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,
>
>
>
> *Marcel Delorme*
>
> Head of Software
>
> <https://venturasystems.com/>
>
> Phone: +31 (0) 515 729433 <+31%20(0)%20515%20729433>
>
> Email: m.delorme@venturasystems.com
>
> Address: De Marne 216, 8701 MH Bolsward, Netherlands
>
> <https://www.linkedin.com/company/ventura-systems-bv>
>
> <https://www.facebook.com/Ventura-Systems-130403847033358/>
>
>
>

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':
   C C:\marcel-bug-report\working-copy-one\MyDir
A    C:\marcel-bug-report\working-copy-one\RenamedDir
A    C:\marcel-bug-report\working-copy-one\RenamedDir\myfile.txt
Updated to revision 3.
Summary of conflicts:
  Tree conflicts: 1
Searching tree conflict details for
'C:\marcel-bug-report\working-copy-one\MyDir' in repository:
Checking r3... done
Tree conflict on 'C:\marcel-bug-report\working-copy-one\MyDir':
Directory updated from r1 to r3 was moved to '^/RenamedDir' by Lyalyakin in
r3.
A directory containing uncommitted changes was found in the working copy.
Applying recommended resolution 'Move and merge':
   C C:\marcel-bug-report\working-copy-one\RenamedDir\myfile.txt
At revision 3.
Tree conflict at 'C:\marcel-bug-report\working-copy-one\MyDir' marked as
resolved.
Summary of conflicts:
  Tree conflicts: 1 remaining (and 1 already resolved)
]]]
[[[
C:\Users\Lyalyakin>svn status -v C:\marcel-bug-report\working-copy-one
                 3        3 Lyalyakin
 C:\marcel-bug-report\working-copy-one
                 3        3 Lyalyakin
 C:\marcel-bug-report\working-copy-one\RenamedDir
      C          3        2 Lyalyakin
 C:\marcel-bug-report\working-copy-one\RenamedDir\myfile.txt
      >   local file unversioned, incoming file add upon update
Summary of conflicts:
  Tree conflicts: 1
]]]

-- 
With best regards,
Pavel Lyalyakin
VisualSVN Team