[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: Jamie Wellnitz <Jamie.Wellnitz_at_emulex.com>
Date: 2006-08-17 19:36:54 CEST

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
Received on Thu Aug 17 19:54:54 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.