You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Hal Vaughan <ha...@thresholddigital.com> on 2005/11/28 16:36:09 UTC

Multiple projects on one system?

I have a suite of programs I've created that includes the server programs that 
retrieve and sort data, a client program that goes on other people's 
computers, a setting editor, and a few configuration directories.  I'm self 
taught, so I set everything up as it worked for me as I learned and did more.  
I have one master directory, then, within that, I have directories for the 
executables for the server.  Also within the master directory, I have 
directory trees for the client program and setting editor, as well as 
different directories for configuration files.

It appears to me that if I want to include all of these in Subversion, I'd 
have to do it as one project.  I'd prefer, if possible, to have 4 separate 
projects.  When I look at examples in the book though, where a file is 
committed by a name to a specified repository, I'm not clear if that is 
enough for Subversion to keep them all separate as different projects.

Is this easily workable one one computer -- to have 4 projects stored in 
Subversion, and all 4 kept separate?

I am considering keeping them all together as one project, since that would 
mean once the client system is working perfectly, and I note that in the 
version, I would have the same version of the server in sync with that, but 
at this point, I haven't decided that is the best way to go and would like to 
have the option to keep the projects separate if needed.

So is keeping a number of separate projects on one system in subversion easily 
doable?

Thanks!

Hal

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Multiple projects on one system?

Posted by Alessandro Sabatelli <pl...@gmail.com>.
awesome!!!  this is just the info i was looking for.  is this type of
real-world usage info in the svn book?  i looked and can look again, i just
didn't see it...


On 11/28/05, Bruce Webber <br...@fastmail.us> wrote:
>
> --Hal Vaughan <ha...@thresholddigital.com> wrote:
>
> > I have a suite of programs I've created that includes the server
> programs
> > that  retrieve and sort data, a client program that goes on other
> > people's  computers, a setting editor, and a few configuration
> > directories.  I'm self  taught, so I set everything up as it worked for
> > me as I learned and did more.   I have one master directory, then,
> within
> > that, I have directories for the  executables for the server.  Also
> > within the master directory, I have  directory trees for the client
> > program and setting editor, as well as  different directories for
> > configuration files.
> >
> > It appears to me that if I want to include all of these in Subversion,
> > I'd  have to do it as one project.  I'd prefer, if possible, to have 4
> > separate  projects.  When I look at examples in the book though, where a
> > file is  committed by a name to a specified repository, I'm not clear if
> > that is  enough for Subversion to keep them all separate as different
> > projects.
>
> Subversion does have any "concept" of a project. Within a repository there
> are folders. Each folder could considered be a separate project; that
> depends on the meaning you assign it and how you use it.
>
> >From what you've described, it would make sense to have all of your code
> in
> one repository. You already have it divided into folders for the server
> piece, the client piece, the editor, etc. You will be able to check out
> any
> portion of the system that you want, by specifying the folder.
>
> Assuming you might release a new version of the server code without having
> to change the client code, and vise versa, I suggest the following
> structure:
>
> repository
>     server
>         trunk
>         branches
>         tags
>     client
>         trunk
>         branches
>         tags
>
> etc.
>
> [...]
>
> > So is keeping a number of separate projects on one system in subversion
> > easily  doable?
>
> Definitely. Each project lives in a separate folder.
>
> --
> Bruce Webber
> brucewebber@fastmail.us
> http://brucewebber.us
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>
>

Re: Multiple projects on one system?

Posted by Bruce Webber <br...@fastmail.us>.
--Hal Vaughan <ha...@thresholddigital.com> wrote:

> I have a suite of programs I've created that includes the server programs
> that  retrieve and sort data, a client program that goes on other
> people's  computers, a setting editor, and a few configuration
> directories.  I'm self  taught, so I set everything up as it worked for
> me as I learned and did more.   I have one master directory, then, within
> that, I have directories for the  executables for the server.  Also
> within the master directory, I have  directory trees for the client
> program and setting editor, as well as  different directories for
> configuration files.
>
> It appears to me that if I want to include all of these in Subversion,
> I'd  have to do it as one project.  I'd prefer, if possible, to have 4
> separate  projects.  When I look at examples in the book though, where a
> file is  committed by a name to a specified repository, I'm not clear if
> that is  enough for Subversion to keep them all separate as different
> projects.

Subversion does have any "concept" of a project. Within a repository there 
are folders. Each folder could considered be a separate project; that 
depends on the meaning you assign it and how you use it.

From what you've described, it would make sense to have all of your code in 
one repository. You already have it divided into folders for the server 
piece, the client piece, the editor, etc. You will be able to check out any 
portion of the system that you want, by specifying the folder.

Assuming you might release a new version of the server code without having 
to change the client code, and vise versa, I suggest the following 
structure:

repository
    server
        trunk
        branches
        tags
    client
        trunk
        branches
        tags

etc.

[...]

> So is keeping a number of separate projects on one system in subversion
> easily  doable?

Definitely. Each project lives in a separate folder.

--
Bruce Webber
brucewebber@fastmail.us
http://brucewebber.us

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Multiple projects on one system?

Posted by Ryan Schmidt <su...@ryandesign.com>.
On Nov 28, 2005, at 17:36, Hal Vaughan wrote:

> Is this easily workable one one computer -- to have 4 projects  
> stored in
> Subversion, and all 4 kept separate?


Subversion has no concept of "projects." It's just a versioned file  
system. If you'd like to have one filesystem (repository) with  
multiple projects (directories) in it, then that's fine. Many people  
do that. We do that at my company, where we have 10 developers  
working on dozens of different projects. It certainly makes it easy  
to back up (there's one thing to back up, not N) and it also makes it  
easy to know what someone's talking about when they say "revision 42"— 
clearly, that means revision 42 of *the* repository. If there were  
multpile repositories, one would have to know revision 42 of which  
one? If you want to use one project as the basis for another, it's  
very easy to svn cp a project to a new folder, then make changes.  
History is preserved so you can later see where it came from, which  
you couldn't if you exported the project from one repository and  
imported it into another.

Many other people like keeping separate projects in separate  
repositories. There are many arguments for this. If you decide a  
project is no longer interesting and will be deleted, you can simply  
delete the repository and it's completely gone. If everything were in  
a single repository, the "deleted" project would still be in the  
repository's history. We are not worried about the integrity of the  
Subversion repository; we have confidence in FSFS. For those who are  
less confident, it's reassuring that, if something goes wrong, it  
goes wrong to one project at a time, not to all projects at once.  
Some people also don't like the idea of the repository revision  
number increasing in all projects at the same time. "When I last  
changed this project two months ago, iti was revision 42. Today's  
change was revision 242. What's with the other 200 revisions?" If  
you're one of those people, multiple repositories are an option.


In the end you must decide if you want a single repository or  
multiple repositories. You can change your mind later, either way:  
you can split one large repository into multiple smaller ones by svn  
dumping the large one and loading selected parts of the dump into new  
repositories using svndumpfilter. Or you can combine multiple small  
repositories into a single large one using svn dump and svn load. The  
latter is a slight problem in that the dates in the new large  
repository are not in order, which means you cannot use date  
searching, except that someone has recently written a script which  
can be used to import the separate dumpfiles correctly, eliminating  
this drawback. The script should be around here somewhere, I just  
can't remember what it's called at the moment.



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org


Re: Multiple projects on one system?

Posted by Greg Thomas <th...@omc.bt.co.uk>.
On Mon, 28 Nov 2005 11:36:09 -0500, Hal Vaughan
<ha...@thresholddigital.com> wrote:

>So is keeping a number of separate projects on one system in subversion easily 
>doable?

Yes. I have c. 20 projects in one repository. My directory structure
is along the lines of ...

/project-1/trunk
/project-1/tags
/project-1/branches
/project-2/trunk
/project-2/tags
/project-2/branches
...

Why did I do it this way? I can create new projects easily without
editing the Apache config, and as it's the same set of people who use
the repository, it makes authentication dead simple.

Greg
-- 
This post represents the views of the author and does
not necessarily accurately represent the views of BT.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org