You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Ch...@qimonda.com on 2006/08/16 20:59:23 UTC
svnmerge.py
Sorry if this is OT for this mailing list.
Can this tool merge changes from branch
to trunk? I was able to merge from trunk
to branch, but can't figure how to merge
the other way around.
--------------------------------------
Chris T Fouts
Qimonda NA
3000 CentreGreen Way
Cary, NC 27513
Phone: (919)677-3016
Fax: (919)678-1929
Email: chris.fouts@qimonda.com
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: svnmerge.py
Posted by Jamie Wellnitz <Ja...@emulex.com>.
On Thu, Aug 17, 2006 at 04:55:21PM +0200, Chris.Fouts@qimonda.com wrote:
>
> >-----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
> >>
> >>
> >
>
> For some reason, the svnmerge.py tool I have, which I d/l'd just
> yesterday,
> does NOT have the -S option. What gives?
As Blair pointed out, the init command just takes the branch without a
-S. Other svnmerge.py commands, like merge and avail, take -S, e.g.:
svnmerge.py avail -S release_branch
Jamie
>
>
> > svnmerge help init
> usage: svnmerge init [OPTION...] [HEAD]
>
> Initialize merge tracking from HEAD on the current working directory.
>
> If HEAD is specified, all the revisions in HEAD are marked as already
> merged;
> if this is not correct, you can use --revision to specify the exact list
> of
> already-merged revisions.
>
> If HEAD is omitted, then it is computed from the "svn cp" history of the
> current working directory (searching back for the branch point); in this
> case,
> svnmerge assumes that no revision has been integrated yet since the
> branch
> point (unless you teach it with --revision).
>
> Command options:
> -f [--commit-file] FILE : set the name of the file where the suggested
> log
> message is written to (default:
> svnmerge-commit-message.txt)
> -r [--revision] REVLIST : specify a revision list, consisting of
> revision
> numbers and ranges separated by commas,
> e.g.,
> "534,537-539,540"
>
> Global options:
> -F [--force] : force operation even if the working copy is not
> clean,
> or there are pending updates
> -n [--dry-run] : don't actually change anything, just pretend;
> implies
> --show-changes
> -s [--show-changes] : show subversion commands that make changes
> -v [--verbose] : verbose mode: output more information about
> progress
> -h [--help] : show help for this command and exit
> -V [--version] : show version info and exit
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: svnmerge.py
Posted by Blair Zajac <bl...@orcaware.com>.
Jamie Wellnitz wrote:
> On Thu, Aug 17, 2006 at 10:24:53AM -0700, Blair Zajac wrote:
>> Jamie Wellnitz wrote:
>>> 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:
>
> Thanks - that's right. I forgot about that little inconsistency in
> the svnmerge.py options.
>
>> Also, this won't work, "svnmerge.py init branch" because svnmerge.py will
>> assume that revisions 1-HEAD have already been merged from the branch to
>> the trunk and set the svnmerge:integrated property to be 1:HEAD, whatever
>> revision HEAD is. In this case, you also need to supply the -r command line
>> option to pick the revision when the branch was created, and pass -r 1:N as
>> that.
>
> That's why I said "just after creating the branch". Then the
> integrated property will be set correctly.
Yes, you did say that :)
Regards,
Blair
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: svnmerge.py
Posted by Jamie Wellnitz <Ja...@emulex.com>.
On Thu, Aug 17, 2006 at 10:24:53AM -0700, Blair Zajac wrote:
> Jamie Wellnitz wrote:
> >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:
Thanks - that's right. I forgot about that little inconsistency in
the svnmerge.py options.
>
> Also, this won't work, "svnmerge.py init branch" because svnmerge.py will
> assume that revisions 1-HEAD have already been merged from the branch to
> the trunk and set the svnmerge:integrated property to be 1:HEAD, whatever
> revision HEAD is. In this case, you also need to supply the -r command line
> option to pick the revision when the branch was created, and pass -r 1:N as
> that.
That's why I said "just after creating the branch". Then the
integrated property will be set correctly.
>
> Regards,
> Blair
>
Jamie
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: svnmerge.py
Posted by Blair Zajac <bl...@orcaware.com>.
Jamie Wellnitz wrote:
> 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:
Also, this won't work, "svnmerge.py init branch" because svnmerge.py will assume
that revisions 1-HEAD have already been merged from the branch to the trunk and
set the svnmerge:integrated property to be 1:HEAD, whatever revision HEAD is.
In this case, you also need to supply the -r command line option to pick the
revision when the branch was created, and pass -r 1:N as that.
Regards,
Blair
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: svnmerge.py
Posted by Blair Zajac <bl...@orcaware.com>.
Jamie Wellnitz wrote:
> 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:
svnmerge.py init doesn't take -S as an argument. You just pass the source URL
as the last argument:
$ svnmerge help init
usage: svnmerge init [OPTION...] [HEAD]
Regards,
Blair
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
RE: svnmerge.py
Posted by Ch...@qimonda.com.
>-----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
>>
>>
>
Ok, much better. thanks!!!
-chris
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: svnmerge.py
Posted by Blair Zajac <bl...@orcaware.com>.
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
RE: svnmerge.py
Posted by Ch...@qimonda.com.
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
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
RE: svnmerge.py
Posted by Ch...@qimonda.com.
>-----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
>>
>>
>
For some reason, the svnmerge.py tool I have, which I d/l'd just
yesterday,
does NOT have the -S option. What gives?
> svnmerge help init
usage: svnmerge init [OPTION...] [HEAD]
Initialize merge tracking from HEAD on the current working directory.
If HEAD is specified, all the revisions in HEAD are marked as already
merged;
if this is not correct, you can use --revision to specify the exact list
of
already-merged revisions.
If HEAD is omitted, then it is computed from the "svn cp" history of the
current working directory (searching back for the branch point); in this
case,
svnmerge assumes that no revision has been integrated yet since the
branch
point (unless you teach it with --revision).
Command options:
-f [--commit-file] FILE : set the name of the file where the suggested
log
message is written to (default:
svnmerge-commit-message.txt)
-r [--revision] REVLIST : specify a revision list, consisting of
revision
numbers and ranges separated by commas,
e.g.,
"534,537-539,540"
Global options:
-F [--force] : force operation even if the working copy is not
clean,
or there are pending updates
-n [--dry-run] : don't actually change anything, just pretend;
implies
--show-changes
-s [--show-changes] : show subversion commands that make changes
-v [--verbose] : verbose mode: output more information about
progress
-h [--help] : show help for this command and exit
-V [--version] : show version info and exit
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: svnmerge.py
Posted by Jamie Wellnitz <Ja...@emulex.com>.
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
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: svnmerge.py
Posted by Blair Zajac <bl...@orcaware.com>.
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...
It does.
The reason you need to set this up is that svnmerge.py can't determine the
source URL and revision range since you didn't copy trunk from the branch. When
you copy the branch from the trunk, svnmerge.py can figure that out automatically.
Regards,
Blair
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
RE: svnmerge.py
Posted by Ch...@qimonda.com.
>-----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...
-chris
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: svnmerge.py
Posted by Blair Zajac <bl...@orcaware.com>.
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
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
RE: svnmerge.py
Posted by Ch...@qimonda.com.
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
> svnmerge merge -S /myrepos/branches/cf
I get the above error.
>-----Original Message-----
>From: Jamie Wellnitz [mailto:Jamie.Wellnitz@emulex.com]
>Sent: Wednesday, August 16, 2006 5:23 PM
>To: Fouts Christopher (QNA RTP PT PREV)
>Cc: users@subversion.tigris.org
>Subject: Re: svnmerge.py
>
>On Wed, Aug 16, 2006 at 10:59:23PM +0200,
>Chris.Fouts@qimonda.com wrote:
>> Sorry if this is OT for this mailing list.
>>
>> Can this tool merge changes from branch to trunk? I was able
>to merge
>> from trunk to branch, but can't figure how to merge the other way
>> around.
>
>svnmerge.py's help should tell you. The -S option is what you want.
>
>[in trunk working directory]
>svnmerge.py merge -S branch_name
>
>You'll "svnmerge.py init" run on the trunk beforehand, of course ...
>
>Thanks,
> Jamie
>>
>> --------------------------------------
>> Chris T Fouts
>> Qimonda NA
>> 3000 CentreGreen Way
>> Cary, NC 27513
>> Phone: (919)677-3016
>> Fax: (919)678-1929
>> Email: chris.fouts@qimonda.com
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
>> For additional commands, e-mail: users-help@subversion.tigris.org
>>
>>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: svnmerge.py
Posted by Jamie Wellnitz <Ja...@emulex.com>.
On Wed, Aug 16, 2006 at 10:59:23PM +0200, Chris.Fouts@qimonda.com wrote:
> Sorry if this is OT for this mailing list.
>
> Can this tool merge changes from branch
> to trunk? I was able to merge from trunk
> to branch, but can't figure how to merge
> the other way around.
svnmerge.py's help should tell you. The -S option is what you want.
[in trunk working directory]
svnmerge.py merge -S branch_name
You'll "svnmerge.py init" run on the trunk beforehand, of course ...
Thanks,
Jamie
>
> --------------------------------------
> Chris T Fouts
> Qimonda NA
> 3000 CentreGreen Way
> Cary, NC 27513
> Phone: (919)677-3016
> Fax: (919)678-1929
> Email: chris.fouts@qimonda.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org