You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by MarcoE <ma...@ruf.ch> on 2008/08/06 05:55:28 UTC
Repository structure (project with different sub-projects)
Hi all,
I've read different topics how to structure the repository and how to create
a software release. (trunk/branch/tag)
But there is a question I couldn't find an answer or recommendation.
The product/project I want to manage in subversion, is quite complex and has
different sub-projects. Also a sub-project can have different sub-projects..
My Problem: How to manage the version control of the different sub-projects,
how to structure the repository?
A small example, perhaps than it's more clear where my problem is:
[code]
my-repository
!
+ product-1
! +-- sub-project-X
! ! +-- sub-project-X1
! ! ....
! ! +-- sub-project-X2
! ! ....
! ! +-- sub-project-X3
! ! ....
! !
! +-- sub-project-Y
! ! +-- sub-project-Y1
! ! ....
! ! +-- sub-project-Y2
! ! ....
! ! +-- sub-project-Y3
! ! ....
! ...
!...
[/code]
Normally following structure is used for "version management", the structure
"trunk" "branch" and "tag" is used:
[code]
my-repository
!
+ product-1
! +-- trunk
! ! +-- sub-project-X
! ! ! +-- sub-project-X1
! ! ! ....
! ! ! +-- sub-project-X2
! ! ! ....
! ! ! +-- sub-project-X3
! ! ! ....
! +-- branch
! ! ! ...
! +-- tag
! ! ! ...
! !...
...
[/code]
But how to handle bugfixes for sub-projects? How to create a new release for
a sub project?
For example I create a patch for "sub-project-X1", how to manage the release
management?
It makes no sense to create an new release for the complete product, perhaps
other sub-projects are still in work.
Can please somebody give me a hint or suggestion how to manage this
situation and how to structure the repository? It's not really an unusual
requirement, but I couldn't find a recommendation and currently I don't know
what makes sense, how to structure the repository.
Best regards
Marco
Best regards
--
View this message in context: http://www.nabble.com/Repository-structure-%28project-with-different-sub-projects%29-tp18844825p18844825.html
Sent from the Subversion Users mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Repository structure (project with different sub-projects)
Posted by MarcoE <sp...@yahoo.de>.
Thank you for your answer.
I've understood your general explanations and that is the way I've
structured the repository.
Reason for putting trunk/branch/tag into the project and not in front of the
project:
We will have different projects and not all of them should appear in the
same tag/branch directory.
But if you have a better idea to structure it, please let me know.
svn:externals:
If made my first tests and it seams that this solution is possible.
As far as I understood the properties will be released too?
How do you use/organize the svn:externals? During development process HEAD
and when you create an new release (tag) of your product, you change the
svn:externals and switch to the current folder revision of the released
subproject?
How can you keep an overview about all your svn:externals? Is there a
graphical diagram or something else? It seams to be a problem to get
overview about the different used svn:externals properties.
Same problem for the developer who checked out the project sources. Checkout
means that the "linked" sub-project will be exported too. If somebody
changes the svn:externals properties, will an "svn update" update the local
environment too?
Best regards and thanks a lot
Marco
--
View this message in context: http://www.nabble.com/Repository-structure-%28project-with-different-sub-projects%29-tp18844825p18921179.html
Sent from the Subversion Users mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Repository structure (project with different sub-projects)
Posted by David Weintraub <qa...@gmail.com>.
Put the branches/tags/trunk directories in front of the module that
may be released separately from other modules.
If a sub-project is always released as part of the project, then you
should put the trunk/branches/tags directory in front of the project
as a whole and branch the whole project.
Remember that branching in Subversion is a link operation. It takes a
1/2 a second to do, and takes up very little room in your repository,
so branching the whole project even if only a single sub-project has
to be branched is not costing you in time or diskspace, and makes it
easier for someone to work on that branch since all the software is
there.
If your sub-projects are independent of your project and shared
between projects, then make them their own modules and use
"svn:externals" to establish the links.
--
David Weintraub
qazwart@gmail.com
On Wed, Aug 6, 2008 at 1:55 AM, MarcoE <ma...@ruf.ch> wrote:
>
> Hi all,
>
> I've read different topics how to structure the repository and how to create
> a software release. (trunk/branch/tag)
> But there is a question I couldn't find an answer or recommendation.
>
> The product/project I want to manage in subversion, is quite complex and has
> different sub-projects. Also a sub-project can have different sub-projects..
>
> My Problem: How to manage the version control of the different sub-projects,
> how to structure the repository?
>
> A small example, perhaps than it's more clear where my problem is:
> [code]
> my-repository
> !
> + product-1
> ! +-- sub-project-X
> ! ! +-- sub-project-X1
> ! ! ....
> ! ! +-- sub-project-X2
> ! ! ....
> ! ! +-- sub-project-X3
> ! ! ....
> ! !
> ! +-- sub-project-Y
> ! ! +-- sub-project-Y1
> ! ! ....
> ! ! +-- sub-project-Y2
> ! ! ....
> ! ! +-- sub-project-Y3
> ! ! ....
> ! ...
> !...
> [/code]
>
> Normally following structure is used for "version management", the structure
> "trunk" "branch" and "tag" is used:
> [code]
> my-repository
> !
> + product-1
> ! +-- trunk
> ! ! +-- sub-project-X
> ! ! ! +-- sub-project-X1
> ! ! ! ....
> ! ! ! +-- sub-project-X2
> ! ! ! ....
> ! ! ! +-- sub-project-X3
> ! ! ! ....
> ! +-- branch
> ! ! ! ...
> ! +-- tag
> ! ! ! ...
> ! !...
> ...
> [/code]
>
> But how to handle bugfixes for sub-projects? How to create a new release for
> a sub project?
>
> For example I create a patch for "sub-project-X1", how to manage the release
> management?
> It makes no sense to create an new release for the complete product, perhaps
> other sub-projects are still in work.
>
> Can please somebody give me a hint or suggestion how to manage this
> situation and how to structure the repository? It's not really an unusual
> requirement, but I couldn't find a recommendation and currently I don't know
> what makes sense, how to structure the repository.
>
> Best regards
> Marco
>
> Best regards
> --
> View this message in context: http://www.nabble.com/Repository-structure-%28project-with-different-sub-projects%29-tp18844825p18844825.html
> Sent from the Subversion Users mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> 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