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