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 621099
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T18:50:13+00:00 2026-05-13T18:50:13+00:00

We have two websites for the same client (main www site and another for

  • 0

We have two websites for the same client (main www site and another for the ecommerce site which sits on a seperate server) that use shared portion of code (various features/styles/javascript etc.). We currently manage this by having the shared code as seperate projects (in the same repos) in SVN and using svn:externals to pull the branch of each of these into the two website projects.

We have just created two release branches, one each for the two sites. Everything gets commited to trunk for each of the sites as normal when working and when “ready for live” we merge it into the release branch for that site. Works a treat except today we modified the some of the shared code and noticed that the release branch pulled it in straight away when we did an update on the release branch. This is not what we wanted 🙁

So any ideas how we can iron out this problem. We used externals to DRY up the sharing of the code but is there another way? Notice that in this question (How can I branch in SVN and have it branch my svn:external folders as well?) they mention externals are bad and we should be using a different build process but no mention of what that should be.

We have CruiseControl.net running our builds and are keen to get this nut cracked. Has anyone any ideas on a better process?

Cheers

Pete

UPDATE: We’ve since moved to using Mercurial (Fogcreek’s Kiln) for our source control. Mercurial also has the idea of sub-repos so we followed that route with our project there too. However it comes at a cost, branching is made really difficult as is tagging and simply keeping everything up to date. Our latest method is to bring both projects into one repos including all the shared repos too. This gives us one “mega project” which slows clone time (check out in SVN) but we do that so rarely that the gains of not having to deal with sub-repos makes it well worth while. We now use feature switching/toggling rather than branching which also simplifies our development greatly.

  • 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-13T18:50:14+00:00Added an answer on May 13, 2026 at 6:50 pm

    If I understand correctly you have something like the following structure:

    • project1
      • trunk
        • library (via svn:externals library svn://repo/library)
      • branches
        • release1
          • library (via svn:externals library svn://repo/library)
        • release2
          • library (via svn:externals library svn://repo/library)
    • project2
      • trunk
        • library (via svn:externals library svn://repo/library)
      • branches
        • release1
          • library (via svn:externals library svn://repo/library)
    • library

    I’m assuming you are settings svn:externals on /project1/trunk to /library. If you then merge the revision with the svn:externals to /project1/branches/release1 and update that branch, you will automatically get the latest version from the library. By default svn:externals will get the HEAD revision of the link.

    You could define the svn:externals to link to a specific revision, like this: svn:externals -r123 library svn://repo/library. This means that the externals link will always point to that specific revision. So you can safely use this type of svn:externals link in your release branch without worrying that the shared library code will ever be updated unless you manually change the svn:externals

    Probably a better way would be to use tags for the shared library and link to a specific tag.
    In this case you would get the following repository structure:

    • project1
      • trunk
        • library (via svn:externals library svn://repo/library/tags/version3)
      • branches
        • release1
          • library (via svn:externals library svn://repo/library/tags/version1)
        • release2
          • library (via svn:externals library svn://repo/library/tags/version2)
    • project2
      • trunk
        • library (via svn:externals library svn://repo/library/tags/version2)
      • branches
        • release1
          • library (via svn:externals library svn://repo/library/tags/version1)
    • library
      • tags
        • version1
        • version2
        • version3
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have two separate websites on the same server. One site is a forum
I have two websites on the same machine. The first (client) references a WCF
I have two websites running on the same Windows 2008r2 64bit server, SQL Server
We have a Windows Server 2003 machine running IIS6.0 that hosts two different websites.
I have two websites hosted on the same IIS server. SiteA contains WCF services
I have two websites running on the same server. Both use passenger and rvm.
Just looking for some advice.. I have two websites on IIS7 which are seperate
i have two websites with FormsAuthentication which are installed on the same machine. Now
I've always wondered, lets say you have two asp.net websites running in the same
I have two websites that post news information. I just got a request to

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.