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

Re: Tree conflict with folder added on branch and trunk

From: Ben Fritz <fritzophrenic_at_gmail.com>
Date: Wed, 6 Aug 2014 13:14:50 -0500

On Wed, Aug 6, 2014 at 11:48 AM, Benjamin Fritz <fritzophrenic_at_gmail.com> wrote:
>> "Accept current working copy state" does not claim to add anything, what
>> this means is that what you have in your working copy is accepted as
>> correct, and what should be merged is discarded. Exactly what it does.
>>
>
> I know that. But when I choose that option, I see in the merge status window:
>
> Tree conflict (Resolved): C:\Project_Files\WC\host
> Added: C:\Project_Files\WC\host\lib\lib.sln
> Added: C:\Project_Files\WC\host\lib\project\lib.vcxproj
>
> etc.
>
> But these files are not actually created. It looks like SOMEWHERE in
> SVN it thought it was adding those files during the merge, but
> actually those files did not get added.

So, I posted to the SVN users list and figured out what is going on here.

I resolved the immediate problem by "svn mv" *before* the merge
(without a commit) to get the tree conflict out of the way, then "svn
merge", then "svn mv" and "svn rm" to get the final directory content
as desired.

I think TortoiseSVN has a problem in the content of the merge results.
From the SVN mailing list list, I got a response that:

> Note how the As you're asking about appear in the tree-conflict column,
> not in the first column as normal adds do. They allow you to see what
> the server wants to add beneath its version of 'host'.

From the command-line, the problematic adds are shown as relative
paths, which refer to *repository* paths:

A lib\win32\lib.d.lib
   C host
   A host\lib\lib.sln
   A host\lib\proj\lib.vcxproj
   A host\lib\proj\lib.vcxproj.filters
   A host\lib\proj\lib.vcxproj.user
   A host\lib\proj
   A host\lib

Note the top line has 'A' in the first column (this file actually gets
added) whereas the bottom lines all have 'A' in the same column as the
tree conflict, indicating these were NOT actually added to my working
copy.

As seen in my quoted text, TortoiseSVN tranlates these into *local*
paths inside the working copy, implying that the file actually got
created. I think instead of the quoted text, TortoiseSVN should have
presented something like this:

Tree conflict (Resolved): C:\Project_Files\WC\host
Not added: C:\Project_Files\WC\host\lib\lib.sln
Not added: C:\Project_Files\WC\host\lib\project\lib.vcxproj

or this:

Tree conflict (Resolved): C:\Project_Files\WC\host
Skipped remote add: http://example.com/SVN/lib/trunk/host/lib/lib.sln
Skipped remote add:
http://example.com/SVN/lib/trunk/host/lib/project/lib.vcxproj

The current message gives a local working-copy path and says "added"
implying that something actually changed in my working copy.

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=3086338

To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2014-08-06 20:15:20 CEST

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