Re: Moved file resolution fails

"Stanimir Stamenkov via users" <[email protected]>
Newsgroups gmane.comp.version-control.subversion.user
Message-ID <[email protected]>
Tue, 30 Jan 2024, /Sands, Daniel N./:

> So far I have not found a use case where moved file resolution in 1.8+ 
> works as advertised on 1.7 servers.  But more specifically, I have the 
> following case:
> 
> The trunk has a directory,
> /foo/bar
> 
> In my local branch, I have relocated bar to
> /baz/bar
> 
> Meanwhile, in the trunk, file /foo/bar/example.c got updated.  My local 
> branch has been checked out from the 1.7 server so it no longer knows 
> specifically about file moves.  When I merge the latest changes from the 
> trunk, it creates a tree conflict on /foo/bar. It has completely lost 
> the notion that there is a file within /foo/bar that was edited.

As far as I'm aware this is all client-side behavior – nothing to do 
with the server.  Resource move/rename has always been recorded as a 
_Delete_ of the original path and a _Copy_ (Add) from the previous path 
revision.  It could be I'm missing something here, also.

> The 
> conflict data only knows that /foo/bar doesn't exist anymore.  My only 
> option for resolution is to accept working – the search for where 
> /foo/bar went also fails. And now the incoming edit to example.c is 
> completely lost, and I wouldn't even know it existed until I did an svn 
> diff on each revision that got merged in.

If I remember correctly, this had only worked the way you expect – 
automatic content merge into the moved file, pre-Subversion 1.6 when 
tree conflicts have been introduced.  I have never been a fan of this 
change and the complication to the svn merge it adds.

The way you generally resolve tree conflicts is with an extra merge (but 
could also be a delete) command per file/tree conflict:

     svg merge ^/foo/bar baz/bar

Then you mark the conflicting files (command per path) as resolved:

     svn resolve baz/bar --accept working

and finally commit, if you're satisfied with the state.

-- 
Stanimir
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.