[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: File not marked as "added" after merging if it was moved+renamed in branch

From: Yasuhito FUTATSUKI <futatuki_at_mkii.yf.bsdclub.org>
Date: Wed, 16 Dec 2020 13:49:26 +0900

Hi,

In message <trinity-cc33fc5b-124a-45f3-8620-ccac1dd4b3be-1608042722148_at_3c-app-w
ebde-bs65>, Tobias Knauss writes:
>Hello,
>
>I have had a discussion with Stefan, the developer of Tortoise SVN, about the
>reported status of files that had been renamed and moved in a branch before me
>rging them to the trunk.
>
>The discussion includes screenshots and is rather long, so I would like to avo
>id copying it here.
>Instead, I am asking you to look at https://groups.google.com/g/tortoisesvn/c/
>tZjI6BkrOPI.
>If you do find that the text belongs here, please let me know and I will copy
>the relevant parts. If there is a place where I can store the pictures of that
> discussion, I will put them there.
>
>A short summary:
>Basically, I have renamed a file in a branch, created a subfolder at the place
> of the file and moved it into that subfolder.
>When I merged the changes to trunk, the original file was marked as "deleted",
> the subfolder was marked as "added", and the new file was marked as "normal"
>(in TSVN).
>Stefan did a text output for me:
>D 4 2 toknauss doc01.txt
>A + - 4 toknauss folder_a
>+ - 4 toknauss folder_a\doc01.txt
>In my opinion, if the file was deleted at the old place, it must have been mar
>ked as "added" on the new place, otherwise there was no new file. And actually
>, this new file is even missing in the log for the relevant revision, although
> the file had been changed and it still exists.

In this case, 'folder_a' in trunk is not newly created empty directory
but root node of the subtree which is copied from branch with history
doc01.txt was moved from parent directry in source branch. So 'doc01.txt'
is not new in 'folder_a'. This is why 'doc01.txt' in 'folder_a' is not
marked as 'A'.

>More details can be found in the linked discussion of the google group of TSVN
>.
>
>I also searched the mailing lists, but did not find any relevant conversation
>about related issues.
>I did find something in the JIRA project of SVN when searching for "move renam
>e merge", which might be related and might help if implemented:
>https://issues.apache.org/jira/browse/SVN-898 (Implement true renames)
>https://issues.apache.org/jira/browse/SVN-3630 (Rename tracking)
>https://issues.apache.org/jira/browse/SVN-3633 (Track renames as renames insi
>de Subversion repository)
>
>Is the above mentioned situation a bug? I can't imagine that this would be int
>ended.

As I described above, I think it is not a bug but expected behavour.
However I only explained operational semantics, and it might different
from what it should be, as a specification.

>If it was a bug: is there any bugfix to be expected short-term?
>
>Wikipedia says, SVN is written in "C" language: https://en.wikipedia.org/wiki/
>Apache_Subversion
>I got an impression of the limitations of "C" 15 years ago at university; I ha
>ve done mostly OOP since then (C++, C++ .Net, C#, VBA). I am thinking about co
>ntributing to SVN, but I doubt I will be of great help in "C" language.

Roughly speaking, C++ is a superset of C, so I believe you can do it,
if you want to do.

Please see 'Apache Subversion Community Guide (aka "HACKING")'[1] for
how to contribute, including how to read the Subversion source code.

[1] https://subversion.apache.org/docs/community-guide/

Cheers,

-- 
Yasuhito FUTATSUKI <futatuki_at_yf.bsdclub.org>
Received on 2020-12-16 05:49:54 CET

This is an archived mail posted to the Subversion Users mailing list.