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

Re: svnmerge.py

From: Blair Zajac <blair_at_orcaware.com>
Date: 2006-08-18 01:42:40 CEST

Chris.Fouts@qimonda.com wrote:
> Not for primetime yet. See below
>
>> -----Original Message-----
>> From: Jamie Wellnitz [mailto:Jamie.Wellnitz@emulex.com]
>> Sent: Thursday, August 17, 2006 10:45 AM
>> To: Fouts Christopher (QNA RTP PT PREV)
>> Cc: users@subversion.tigris.org
>> Subject: Re: svnmerge.py
>>
>> On Thu, Aug 17, 2006 at 03:24:16PM +0200,
>> Chris.Fouts@qimonda.com wrote:
>>>
>>>> -----Original Message-----
>>>> From: Blair Zajac [mailto:blair@orcaware.com]
>>>> Sent: Wednesday, August 16, 2006 5:52 PM
>>>> To: Fouts Christopher (QNA RTP PT PREV)
>>>> Cc: Jamie.Wellnitz@emulex.com; users@subversion.tigris.org
>>>> Subject: Re: svnmerge.py
>>>>
>>>> Chris.Fouts@qimonda.com wrote:
>>>>> I get...
>>>>> svnmerge: no integration info available for repository path
>>>>> "/branches/cf"
>>>>>
>>>>> Here's what I did.
>>>>> Merge from trunk to branch
>>>>>> cd to branch top dir
>>>>>> svnmerge init
>>>>>> svnmerge merge (merged from trunk) svn commit (Modify
>> branch file)
>>>>>> svn commit
>>>>> Merge from branch to trunk
>>>>>> cd to trunk top dir
>>>>>> svnmerge init /myrepos/trunk
>>>> You're telling init to merge changes from trunk back to itself.
>>>>
>>>> You need to tell it to merge from the branch and you'll need the -r
>>>> command line option to tell it which revisions have "already been
>>>> merged over". Here, you'll want to use 1-N, where N is the
>> revision
>>>> that the branch was created at.
>>>>
>>>> You should revert the commits in your trunk with the svnmerge init
>>>> command.
>>>>
>>>> Also, before committing, I suggest doing a diff to see exactly what
>>>> changes svnmerge.py is making to your . directory and see
>> if it makes
>>>> sense.
>>>>
>>>> Regards,
>>>> Blair
>>>>
>>> I was under the impression svnmerge helped rid the need for revision
>>> numbers. Oh well...
>> In simple cases svnmerge.py can hide the revision numbers. If
>> you have a fairly simple merge problem:
>>
>> /-----+------+-----+--------> branch
>> / \ \ \
>> ----+---------*------*-----*------> trunk
>>
>> If you run "svnmerge.py init -S branch" on the trunk (and commit the
>> change) just after creating the branch (wich "svn copy"), each
>> of the periodic branch -> trunk merges shown should just be:
>>
>> (in trunk working dir)
>> svnmerge.py merge -S branch
>> (resolve conflicts, verify svn diff output and test) svn ci
>>
>> svnmerge.py will keep track of the already-merged revisions
>> and not attempt to remerge them.
>>
>> However, with more complicated merge problems (especially
>> cherry picking changes or blocking revs from merging) it's
>> hard to avoid the revision numbers.
>>
>>> -chris
>> Regards,
>> Jamie
>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
>>> For additional commands, e-mail: users-help@subversion.tigris.org
>>>
>>>
>
> Thanks to all here's what I did
>
> Create cf branch and check out a local copy
>> svn cp -m "bla" /repos/trunk/ /repos/branches/cf
>> cd .../branches (sandbox)
>> svn co /repos/branches/cf
>> cd cf
>> svnmerge init
>
> Modify a file in the trunk copy and commit
>> cd .../trunk
>> (modify file)
>> svn commit
>
> Go back to branch copy and merge from trunk
>> cd .../branch/cf
>> svnmerge avail (shows avail updates)
>> svnmerge merge
>> svn commit
>
> Go back to trunk copy and init trunk to prepare
> branch-to-trunk merges
>> cd .../trunk
>> svnmerge init /repos/branches/cf
>
> I get the following...
> Traceback (most recent call last):
> File "/sw/local/bin/svnmerge", line 1924, in ?
> main(sys.argv[1:])
> File "/sw/local/bin/svnmerge", line 1864, in main
> check_old_prop_version(branch_dir, branch_props)
> File "/sw/local/bin/svnmerge", line 868, in check_old_prop_version
> h = rstrip(head, "/")
> File "/sw/local/bin/svnmerge", line 107, in rstrip
> if s[-1] != ch:
> IndexError: string index out of range

Regardless of this error, you didn't pass the -r command line option to svnmerge
init to get trunk properly set up. It needs to be 1-(the revision from the svn
cp -m "bla" /repos/trunk/ /repos/branches/cf command).

And are you using the latest version from trunk?

Regards,
Blair

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri Aug 18 01:44:01 2006

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.