SVN: Release branch and externals? -


We have two websites for one client (main www site and another for e-commerce site which is a separate Sits on the server) Use the shared portion of code (various features / styles / javascript etc) We can currently manage SVNs in different projects (in the same repos), using the shared code and SVN: Extnails to pull each of these two websites into two website projects.

We have just created two release branches, each for each of the two sites, committed to trunk everything for each site when it works normally and when "ready for live" If we merge into the release branch for that site, it works as a behavior other than today, we modified some shared code and saw that the release branch pulled it immediately when we released the release An update on the test. It is not what we wanted to do: (

So with any thought how can we overcome this problem. We use external to share the code, but does anyone else The way? They mention that they are externally bad and we should use a different building process, but there should be no mention of it.

Our crease control .net is running and it is dry Fest Considering a better process?

Cheers

Pete: Update Since: We have been using Mercury (Fogcrual Colon) for our source control since then. The sub-repo is thought of, so we also followed that path along with that project. Even though it comes at a price, the bunting is really difficult because tagging and everything is up to date. Our latest method both project It is a "mega project" that slows down the clone time (check out in SVN), but we do it rarely that it is well worth it to deal with the sub-repo whereas. Now we also facilitate the use of branches instead of feature switching / toggling which makes our development even easier.

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

< Ul>
  • Project 1
    • Trunk
      • Library (via svn: externals library svn: // repo / library
      • release1
          < Li> library
        • Project 2
          • Trunk
            • Library ( Via Svn: external library svn: // repo / library )
          • Branches
            • release1
              • Library (via Svn: External Library svn: // rep
              • If you merge the revision from svn: externals to / project1 / branches / release 1 and on / project 1 / trunk to / library svn: externals If you update the branch, you will automatically get the latest version from the library. By default svn: externals will get the main modification of the link.

                To link to a specific revision, you can define svn: externals , such as: svn: external -r 123 library svn: // repo / Library . This means that the external link will always point to that specific amendment. So when you do not manually change svn: externals manually, you can do this type of svn without ever updating the shared library code. Externals link. / P>

                Perhaps a better way to use the tag for the shared library and link to a specific tag. In this case you will find the following storage structure:

                • Project 1
                  • Trunk
                    • Library (via svn: externals library svn: // repo / Library / Tag / Version3 )
                    • Branches
                      • release1
                        • Library (via svn: externals library Svn: // repo / library /
                        • release2
                          • Library (via svn: externals library svn: // repo / library / tags / version2
                      • Project 2
                        • Trunk
                          • Library ( svn: via external library svn: // repo / library / tags / version2 )
                        • < Li>
                        • Version 1
                        • Version 2
                        • Version 3

  • Comments

    Popular posts from this blog

    sql - dynamically varied number of conditions in the 'where' statement using LINQ -

    asp.net mvc - Dynamically Generated Ajax.BeginForm -

    Debug on symbian -