4 Replies Latest reply on Dec 4, 2007 6:59 AM by dimitris

    SVN Branching as Part of Build Process

    alrubinger

      So I'm admittedly new at performing JBoss releases, but wanted to raise a couple concerns encountered while doing a couple this weekend for the EJB3 Projects.

      Following instructions from:
      http://wiki.jboss.org/wiki/Wiki.jsp?page=MavenReleaseProcess

      This doesn't account for branching first, I'd been tagging straight off of trunk. This makes doing minor incremental releases more difficult (ie. 0.1.1.Beta1, 0.1.1.Beta2, etc) because the Maven release plugin will (by default) set the next development version to something like "0.1.2-SNAPSHOT". Would love to see a process that involves a branch first to "0.1.1.BetaX" and tag "X" as subsequent releases off this branch, not incrementing the next development version at all.

      What steps have been taken by others to work around this, if any? Could we introduce the Maven Branch Plugin to "mvn release:branch -DupdateBranchVersions=true -DupdateWorkingCopyVersions=false" into the process? **

      S,
      ALR

      References:
      ** = http://maven.apache.org/plugins/maven-release-plugin/examples/branch.html

        • 1. Re: SVN Branching as Part of Build Process
          pgier

          I don't see a problem if you create a branch first. The wiki page was created just to show people how to do a release, and not really to force them into that process. As long as the end result is the same, i.e. you have a tag and a reproducible build, changes/additions to the process like this are fine by me.

          • 2. Re: SVN Branching as Part of Build Process
            dimitris

            I don't understand why you want to branch first? You have a branch already (happens to be the trunk) and just want to tag subsequent releases on it (Beta1, Beta2, ...).

            • 3. Re: SVN Branching as Part of Build Process
              alrubinger

              It's an optional step that isolates the codebase from forward-moving development changes, and (I find) eases the process of tagging Beta1, Beta2 without incrementing the version number (as Maven will prompt as a default).

              Mostly, it's a matter of developer preference; I happen to find branching an essential organizational step as tagging off trunk I find confusing. I've been updating the Wiki page referenced in my original post as I employ this process for EJB3 External API and EJB3 Impl projects.

              This thread is precisely for this debate. :)

              S,
              ALR

              • 4. Re: SVN Branching as Part of Build Process
                dimitris

                I believe dealing with our build system/maven limitations (and trying to fix them) is a different thing than the branching strategy. In the way you suggest the number of branches explodes.

                I'd normally go for the simplest solution, but maybe that's me.