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

Re: Big problem with svn:mergeinfo, feature branches and merging (reintegrate)

From: sNop <snop3_at_seznam.cz>
Date: Fri, 02 Jul 2010 00:23:29 +0200

 Hi Bob,

On 1. 7. 2010 22:11, Bob Archer wrote:
>
> Basically if you merge changes in a sub-folder that subfolder will get mergeinfo on it. That info won't be on trunk.
>

I understand.

> So, I would verify that all the merge info on /trunk is in place.
>

I will do it.

>
>
> Another think is that if you mostly use feature branches and you have removed them after reintegrating them, you don't really need that merge info any more. I know svn will ignore it, but when you look at the mergeinfo it will be cluttered.
>

This are great new for me. ;)
80% of branches was deleted after reintegrating and I have created 3 branches now. 2 branches are created correctly ( from /trunk folder ) and 1 branch is created from subdir.

>
>
> So, you might want to start by removing all the merge info on folder/files in /trunk that reference branches that you have already integrated and deleted. Then check to see if there is any merge info left of the child paths that is no in trunk. If
> it is not in trunk you need to check to see if those rev's have modifications in that branch that occurred in paths other than the child paths.
>

Great, Great, this is exactly what I need, many thanks Bob. I try it as soon as possible and post result of this operation.

>
>
> Only you can know if a merge done on one file only contained changes to that file in that rev. If it did that mergeinfo can be promoted up to the /trunk folder.
>
>
>
> Good luck.
>
>
>
> BOb
>
>
>
>
>
> *From:* sNop [mailto:snop3_at_seznam.cz]
> *Sent:* Thursday, July 01, 2010 3:47 PM
> *To:* Bob Archer
> *Subject:* Re: Big problem with svn:mergeinfo, feature branches and merging (reintegrate)
>
>
>
> Hi Bob,
>
> first I want to thank you for you reaction.
>
> On 1. 7. 2010 20:33, Bob Archer wrote:
>
> Hi,
>
>
>
> I have big problems with reintegrating feature branches. I have
>
> this problem only with one reposity location.
>
>
>
> I show it on example:
>
> 1) I create branch ( feature branch )
>
> 2) I switch to this branch
>
> 3) I change/edit only one file in this feature branch! and commit (
>
> the filename which i change is
>
> assets\CrystalShop\Crystal\Shop\Abstract.php )
>
> 3) I switch back to trunk and try reintegrate this feature branch
>
> back to trunk
>
> 4) the result looks like this ( I show it with the help of the
>
> TortoiseSVN ):
>
> I decided, that I create video where is everything showed, so here
>
> is the link to the captured screen, it's online on Vimeo server (
>
> you can watch it in web browser ):
>
> http://vimeo.com/12973409
>
>
>
> I must solve this problem somehow and I want to know 3 things:
>
> - not what cause this problem, because I know that svn:mergeinfo
>
> properties on the subdirectories and on the files in the
>
> subdirectories cause this, BUT WHY IT'S SO?
>
>
> Because you did a merge at a level other than the root folder level. svn will update merge info on any folder or file that already has mergeinfo on it even if there is no change to that file/folder. The info will be elided (removed) if the mergeinfo of the child matches the merge info of the parent.
>
>
> And how can I achieve this.
>
>
> You can google for mergeinfo elision to find out more about this.
>
>
> I try to google more info about this.
>
>
> - how to prevent this problem?
>
>
> Only merge to the root folder of the project. If you merge a sub-folder or single file you are going to get merge info on that file.
>
>
> I thought it is so.
>
>
> If you only want to merge changes to a single file you should cherrypick the revisions that contains the changes you want rather than merging a sub-folder or file.
>
>
> This is very useful info for me, thank you
>
>
>
>
> - and how can I resolve this problem ( I don't want to delete
>
> svn:mergeinfo, but as I can see it's only one possible solution :(,
>
> or i'm wrong?? )
>
>
> As long as you are sure that the merge info in the /trunk folder is valid for ALL the child folders and objects then yes, you can delete it on the child objects.
>
>
> And how can I determine, that the merge info is valid for all the child folders?
> Or when I did the reintegrate on the subdirs, so merge info was updated on the /trunk folder too? ( If so, then the merge info in the /trunk folder is valid for ALL the child folders, but i don't know if it's so ).
>
>
>
> Thankfully in 1.7 this problem will go away because mergeinfo will only be placed/updated on files that have changes in them. But, we are probably 6-12 months away from that release. (from what I read on the dev list)
>
>
> This are good news.
>
>
> BOb
>
>
> I am much grateful for your helpful advices.
>

Received on 2010-07-02 00:24:13 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.