Kevin Brannen wrote:
> We have a repository in CVS that I'm researching how to move to SVN.
> Much of it is straight-forward, lot's of java and 3rd party jars. An
> import and we're done.
> However, there is also a directly (a CVS module) that is collection of
> JVMs that we use for our code (different releases of our product use
> different JVMs). So far, not hard. Until we consider that we also
> support multiple platforms and that the JVMs are binary and platform
> specific. I can't figure out how to handle that in SVN.
> In CVS, we have a script that does a "uname -m", and based on that
> value, does an "cvs co" of the correct module, so that dir gets added.
> Reading the SVN book, vendor branches seem like what I want, but I can't
> figure how to conditionally do that. So...
> 1. Is what I need to do possible in SVN? If yes, then can someone
> explain it, or point me to the place in the book. (I've been jumping
> around it in reading as necessary.)
> 2. Do I need to work outside of SVN like I do CVS and make it work with
> script stuff? For example, have a "post-checkout" type hook (or wrap
> checkout with a script) that creates a symlink at the proper place with
> the code checkout to another checkout (of another repository) that
> contains the JVMs? Meaning, I end up with N+1 repositories on the
> server, where N is the number of platforms I support, do the checkout of
> the proper JVM into /vendor/JDK, then do the checkout of our code, and
> finally in the dir of our code do "ln -s /vendor/JDK JDK".
> [Fortunately, we only have to support Unix machines in this, the
> msWindows machines only mount the code with Samba.]
You will need some sort of external script.
The easiest way to do it might be to keep all the stuff in 1 repository,
have a placeholder empty dir in the common code tree, and "svn switch" it to
the appropriate platform directory.
To unsubscribe, e-mail: email@example.com
For additional commands, e-mail: firstname.lastname@example.org
Received on Wed Sep 1 00:56:30 2004