You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Dave Huang <kh...@azeotrope.org> on 2012/02/13 17:43:23 UTC

Merge shows conflicts on files that didn't change? (was Re: Question about merging)

I guess it's time for my ~yearly question about why SVN can never seem 
to do this merge properly... Summary: I have a "releaseA" branch off of 
trunk, then a "releaseA + custom stuff" branch off of "releaseA". I also 
have a "releaseB" branch off of trunk. I want to merge "custom stuff" 
into "releaseB" to create a "releaseB + custom stuff" branch, but SVN is 
showing a ton of updates/conflicts, even though "custom stuff" only 
touches a handful of files (as confirmed by a diff between "releaseA" 
and "releaseA + custom stuff").

See the thread starting at 
http://mail-archives.apache.org/mod_mbox/subversion-users/201009.mbox/%3C3852DC49-BC93-45AB-A22E-1F5391257C49%40azeotrope.org%3E 
for more info.

I just tried this again with SVN 1.7.2 on the client and 1.6.15 on the 
server, and it still doesn't work right.

On 9/17/2010 2:07 PM, David Huang wrote:
> On Sep 17, 2010, at 12:38 PM, Bob Archer wrote:
>> It is updating/writing merge info on those child nodes. There must have been a merge that was done at a level lower than the root folder of your project which put merge info on those files but not on the parent root folder.
> A more concrete example:
>
> hexley-wl:~ khym$ svn co https://my.repo/svn/branches/dave-calendar72
> [ ... ]
> hexley-wl:~ khym$ cd dave-calendar72
> hexley-wl:dave-calendar72 khym$ svn merge --accept postpone https://my.repo/svn/branches/7.1@28161 https://my.repo/svn/branches/dave-calendar71
> --- Merging differences between repository URLs into '.':
> [ ... ]
> U    LoadDB/LoadDB.cpp
> [ ... ]
> C    Reports/Invoice.rpt
> [ ... ]
> Summary of conflicts:
>    Text conflicts: 491
>    Tree conflicts: 5
>
> # So, a .cpp was supposedly updated, and an .rpt was supposedly conflicted
> hexley-wl:dave-calendar72 khym$ svn proplist https://my.repo/svn/branches/7.1/LoadDB/LoadDB.cpp@28161 https://my.repo/svn/branches/dave-calendar71/LoadDB/LoadDB.cpp LoadDB/LoadDB.cpp
> Properties on 'https://my.repo/svn/branches/7.1/LoadDB/LoadDB.cpp':
>    svn:keywords
> Properties on 'https://my.repo/svn/branches/dave-calendar71/LoadDB/LoadDB.cpp':
>    svn:keywords
> Properties on 'LoadDB/LoadDB.cpp':
>    svn:keywords
>
> # No mergeinfo on that file, in any of the places that are involved in the merge. Doing the same thing for Invoice.rpt shows that the only property is svn:mime-type.
>
> hexley-wl:dave-calendar72 khym$ svn diff https://my.repo/svn/branches/7.1/LoadDB/LoadDB.cpp@28161 https://my.repo/svn/branches/dave-calendar71/LoadDB/LoadDB.cpp
> hexley-wl:dave-calendar72 khym$ svn diff https://my.repo/svn/branches/7.1/Reports/Invoice.rpt@28161 https://my.repo/svn/branches/dave-calendar71/Reports/Invoice.rpt
>
> # And svn diff shows that there are neither any text differences or property differences.
>
> hexley-wl:dave-calendar72 khym$ svn stat LoadDB/LoadDB.cpp Reports/Invoice.rpt
> C       Reports/Invoice.rpt
>
> # Finally, svn stat shows that there are no modifications to my WC's LoadDB.cpp, despite the merge supposedly updating it. However, Invoice.rpt really is conflicted.
>


-- 
Name: Dave Huang         |  Mammal, mammal / their names are called /
INet: khym@azeotrope.org |  they raise a paw / the bat, the cat /
FurryMUCK: Dahan         |  dolphin and dog / koala bear and hog -- TMBG
Dahan: Hani G Y+C 36 Y++ L+++ W- C++ T++ A+ E+ S++ V++ F- Q+++ P+ B+ PA+ PL++