Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7599495
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 30, 20262026-05-30T22:40:33+00:00 2026-05-30T22:40:33+00:00

This is the SVN structure: /trunk + ProjectA + ProjectB + Common + ProjectCore

  • 0

This is the SVN structure:

/trunk
    + ProjectA
    + ProjectB
    + Common
        + ProjectCore
        + References

ProjectA and ProjectB will deliver an end product and each can have their own release life cycle. Both projects make use of the same common libs from ProjectCore.
ProjectCore will also have its own release life cycle.
In ProjectA and ProjectB we want to refer to the libs of ProjectCore. The ProjectCore-libs were added to SVN after succesful release life cycle of ProjectCore. The ProjectCore-libs are added to the References folder.

By doing this we release (freeze) our ProjectCore builds, as a component which was fully tested. So we have multiple Core-lib releases:

  • RLS_Core_1.00
  • RLS_Core_1.01
  • RLS_Core_2.00
  • RLS_Core_3.00

Since we add the released libs (dll’s) to SVN, ProjectA and ProjectB can refer to them.
What is the best approach to do this?

Approach 1

Add the ProjectCore-libs to SVN in a new folder under References named RLS_Core_X_XX.

In the solution of ProjectAand ProjectB we add a reference to this unique folder: ./trunk/Common/References/RLS_Core_X_XX.

Approach 2

Add the ProjectCore-libs to SVN under one and the same folder References/Core. In case there was an “older” version in it it will be a commit.

In the solution of ProjectAand ProjectB we add a reference to: ./trunk/Common/References/Core. We use the SVN externals properties to define which revision of the Core-libs must be used for ProjectA and ProjectB.

In both approaches the developer explicitely needs to decide what Core-libs release he wants to use in his project soution. The rule is keep the same Core-libs unless you have to upgrade because of missing functionality.
Approach 1: edit in project solution. Approach 2: edit in externals properties.

What approach is preferred?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-30T22:40:34+00:00Added an answer on May 30, 2026 at 10:40 pm

    First thing which would seem natural is to use the recommended folder structure (branches, tags, trunk) folder for each project separately. That goes for the common project too, especially if you are going to have releases referenced by those two end products. Since these projects are going to be developed separately, you should be able to create individual tags and branches.

    Once you’ve done this, (and since it’s your requirement to include all references as built assemblies) it would be a good idea be to copy released assemblies into each projects Reference subfolder separately.

    This way, whenever you create a branch, you have the exact snapshot of the version you need, and it’s independent from the common stuff development.

    In other words:

    /RepoRoot
        + ProjectA
            + branches
            + tags
                + v1.0
                + v1.1
            + trunk
                + references (includes 3rd-party and ProjectCore)
        + ProjectB
            + branches
            + tags
                + v0.8
                + v1.2
            + trunk
                + references
        + ProjectCore
            + branches
            + tags
                + v2.0
                + v2.1
            + trunk
                + references
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am a beginner in SVN.I have the SVN directory structure like this: |-trunk
I have some SVN projects with this folder structure project/trunk/ project/branches/1.x project/branches/2.x project/branches/3.x First
I have a directory structure in svn like this: Project A branches tags trunk
I have a SVN structure like this: /Projects /Project1 /Project2 /someFolder /Project3 /Project4 I
i know that you could organize your files according to this structure in svn:
an svn:externals reference like this dojo -r 21434 http://svn.dojotoolkit.org/src/dojo/trunk/ is happily accepted by subversive
Contrary to a 'normal' svn directory structure I'm using the following structure: trunk/ project1/
I have a single SVN repository with the following current structure: project1 branches trunk
I have the following SVN structure: iPhone -> Project A -> trunk, branch, tags
In the SVN repository browser I can right click on 'trunk' which gives me

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.