You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Patrick Nelson <pn...@neatech.com> on 2004/10/03 22:39:23 UTC
Best Practice for CVS user who is converting to SVN
FC2 with SVN 1.0.8 (stock rpm)
In cvs your could submodule your repository like:
Root repo is /var/cvs/dev
tcl/tapp1
tcl/tapp2
tcl/tapp3
tcl/tappn
pl/papp1
pl/papp2
pl/papp3
pl/pappn
and then user the module files to call things out like:
cvs co tapp1
and get just the tapp1 directory.
Looking at what cvs2svn did when it converted it looks like it put
everything in one repository root of /var/svn/dev and not in sub
projects. So it seems like I need to break all of my apps repos and
cvs2svn them separately...
Is this correct or am I missing something?
TIA
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Best Practice for CVS user who is converting to SVN
Posted by Patrick Nelson <pn...@neatech.com>.
Ulrich Eckhardt wrote:
>If I understand correctly, all the modules file does is to create an
>alias/shortcut, right? If so, there is no direct way in SVN to do that. What
>you can do however is to read up on 'svn:externals' and install such a link
>in the root of your repository. However, since there is no implicit
>repository (as $CVSROOT for CVS), users are always required to specify the
>complete path for the initial checkout and this does not gain that much.
>
>
>
>I don't think it does so unconditionally. Maybe you should have given it a
>different target-path for the SVN pepository?
>
>
>Not clear what you mean with that. Maybe you could give us an example of where
>things ended up and where you wanted them to be.
>
>
Your right about the modules file. I was using it to explain the way we
have used cvs. If there is a way to continue the grouping then we would
if not we would investigate more. One way we thought about was naming
the module like:
tcl-app1
tcl-app2
tcl-app3
tcl-appn
pl-app1
pl-app2
pl-app3
pl-appn
----
The way I called cvs2svn was:
cvs2svn -s /var/svn/dev /var/cvs/dev
This created 1 repository with all the apps in it, which was not
necessarily the way we wanted it. So and to answer your second
question we did called cvs2svn like:
LangList="tcl pl"
tclList="app1 app2 app3 appn"
plList="app1 app2 app3 appn"
for Lang in LangList; do
for Mod in ${Lang}List; do
cvs2svn -s /var/svn/dev/$Mod /var/cvs/dev/$Lang/$Mod
done
done
This gave us separate repositories for each of our apps which will work
and keeps them separate from each other. Is this the best way to do it?
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Best Practice for CVS user who is converting to SVN - Ideas
Posted by Patrick Nelson <pn...@neatech.com>.
Patrick Nelson wrote:
> ----snip----
> So I tried 3 ways to convert cvs repo to a svn repo, this is what I
> found:
> ---snip----
Sorry mis-typed it. Only 2 methods were tried!
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Best Practice for CVS user who is converting to SVN - Ideas
Posted by ar...@betasystems.com.
>
> One thing that I noticed is size of the root repository when I was done
> with each (oh I did the 2 methods on separate systems). Here is what I
> found:
>
> initial cvs repo - 20 MB
> method 1 svn repo - 25 MB
> method 2 svn repo - 176 MB
is that realy true?
does anyother best practices exist over there?
-Arash
Patrick Nelson <pn...@neatech.com> wrote on 09.10.2004 23:45:12:
> FC2 with svn 1.0.8
>
> So I tried 3 ways to convert cvs repo to a svn repo, this is what I
found:
>
> The facts
> cvs repo - /var/repo/cvs/dev
> svn repo - /var/repo/svn/dev
>
> The methods
> 1. Treat cvs as a single repository and convert it to a single svn
> repository with:
>
> cvs2svn -s <svn repo> <cvs repo>
>
> 2. Break up the cvs repositories and convert them into app repositories
> in svn with:
>
> Modules="<list of modules>"
> for Module in $Modules; do
> cvs2svn -s <svn repo>/$Module <cvs repo>/$Module
> done
>
> The second method was much more complicated than that but I wanted to
> get just the understanding of it down not the specifics. Both methods
> work just fine, but the second seems to keep my apps separated better so
> that I can admin them in different ways. Cool. My scripts to do
> method 2 were complicated but it did produce the end result that I think
> I wanted. However....
>
> One thing that I noticed is size of the root repository when I was done
> with each (oh I did the 2 methods on separate systems). Here is what I
> found:
>
> initial cvs repo - 20 MB
> method 1 svn repo - 25 MB
> method 2 svn repo - 176 MB
>
> This surprised me because I thought it would be close to the same. Not
> close to 9 times greater than the size of the cvs repo. Did I do
> something wrong or is this just the overhead that separate svn repos
have?
>
>
> ---------------------------------------------------------------------
> 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: Best Practice for CVS user who is converting to SVN - Ideas
Posted by Patrick Nelson <pn...@neatech.com>.
FC2 with svn 1.0.8
So I tried 3 ways to convert cvs repo to a svn repo, this is what I found:
The facts
cvs repo - /var/repo/cvs/dev
svn repo - /var/repo/svn/dev
The methods
1. Treat cvs as a single repository and convert it to a single svn
repository with:
cvs2svn -s <svn repo> <cvs repo>
2. Break up the cvs repositories and convert them into app repositories
in svn with:
Modules="<list of modules>"
for Module in $Modules; do
cvs2svn -s <svn repo>/$Module <cvs repo>/$Module
done
The second method was much more complicated than that but I wanted to
get just the understanding of it down not the specifics. Both methods
work just fine, but the second seems to keep my apps separated better so
that I can admin them in different ways. Cool. My scripts to do
method 2 were complicated but it did produce the end result that I think
I wanted. However....
One thing that I noticed is size of the root repository when I was done
with each (oh I did the 2 methods on separate systems). Here is what I
found:
initial cvs repo - 20 MB
method 1 svn repo - 25 MB
method 2 svn repo - 176 MB
This surprised me because I thought it would be close to the same. Not
close to 9 times greater than the size of the cvs repo. Did I do
something wrong or is this just the overhead that separate svn repos have?
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Best Practice for CVS user who is converting to SVN
Posted by Ulrich Eckhardt <ec...@satorlaser.com>.
Patrick Nelson wrote:
> In cvs your could submodule your repository like:
>
> Root repo is /var/cvs/dev
>
> tcl/tapp1
> tcl/tapp2
> tcl/tapp3
> tcl/tappn
> pl/papp1
> pl/papp2
> pl/papp3
> pl/pappn
>
> and then user the module files to call things out like:
>
> cvs co tapp1
>
> and get just the tapp1 directory.
If I understand correctly, all the modules file does is to create an
alias/shortcut, right? If so, there is no direct way in SVN to do that. What
you can do however is to read up on 'svn:externals' and install such a link
in the root of your repository. However, since there is no implicit
repository (as $CVSROOT for CVS), users are always required to specify the
complete path for the initial checkout and this does not gain that much.
> Looking at what cvs2svn did when it converted it looks like it put
> everything in one repository root of /var/svn/dev and not in sub
> projects.
I don't think it does so unconditionally. Maybe you should have given it a
different target-path for the SVN pepository?
> So it seems like I need to break all of my apps repos and
> cvs2svn them separately...
Not clear what you mean with that. Maybe you could give us an example of where
things ended up and where you wanted them to be.
Uli
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org