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

Re: merging suddenly doesn't work

From: Ryan Schmidt <subversion-2006q2_at_ryandesign.com>
Date: 2006-05-12 14:36:17 CEST

On May 11, 2006, at 23:42, Andreas Pakulat wrote:

> So do you have a hint on how I could merge using the python script
> mentioned in my original post? I mean such that the merged project
> ends
> up in <myrepository>/project/trunk and not in
> <myrepository>/project/foo?
>
> Or am I better off using diff and patch?

The svn_load_dirs.pl Perl script is designed to handle this scenario.
I believe it should be described in the Vendor Branches section of
the book.

I use it to keep a copy of phpMyAdmin in my repository, with some
local modifications of my own. The structure in our repository looks
like this:

/vendor/
        phpmyadmin/
                current/
                2.7.0-pl2
                2.8.0.1/
                2.8.0.2/
/tools/
        phpmyadmin/

svn_load_dirs.pl makes it easy to keep the contents of /vendor up to
date. If I now see, for example, that phpMyAdmin 2.8.0.3 has been
released, I can download it, decompress it, and import it with:

tar xjf ./phpMyAdmin-2.8.0.3.tar.bz2
svn_load_dirs.pl -t 2.8.0.3 \
http://svn.example.com/vendor/phpmyadmin \
current ./phpMyAdmin-2.8.0.3

...which will cause /vendor/phpmyadmin/current to now be 2.8.0.3, and
a new tag directory /vendor/phpmyadmin/2.8.0.3 to be created.

No local changes ever get made under /vendor. It's supposed to be a
pristine copy of whatever the vendor supplied.

/tools/phpmyadmin is where I make my local changes. It's currently
2.8.0.2 plus my changes. To now upgrade it to 2.8.0.3, I get a
working copy of /tools/phpmyadmin and say:

svn merge \
http://svn.example.com/vendor/phpmyadmin/{2.8.0.2,2.8.0.3}
svn commit -m "Updating my phpMyAdmin to 2.8.0.3"

This describes how you use vendor branches once you get going.
However, to start initially, you simply "svn import" the current
version of phpMyAdmin into /vendor/phpmyadmin/current, "svn copy" it
to /vendor/phpmyadmin/2.8.0.3, and "svn copy" it to /tools/phpmyadmin
where you can start making your changes.

Note that I didn't set up my /tools/phpmyadmin with a trunk
directory, but I certainly could have; since your mail makes it sound
like you might want this, you may want to replace "/tools/phpmyadmin"
with "/tools/phpmyadmin/trunk" everywhere in my instructions above.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri May 12 14:37:36 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.