Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-26280

Missing "Integrate Branch" from feature branch builds

    XMLWordPrintable

Details

    • Bug
    • Status: In Progress (View Workflow)
    • Major
    • Resolution: Unresolved
    • svnmerge-plugin
    • CentOS 6, Jenkins 1.595, svnmerge plugin 2.4, Java 1.7.0_71

    Description

      There is no "Integrate Branch" action in any of feature branches' builds. The following are from `svn info`:

      dev1:
      Path: .
      Working Copy Root Path: /var/lib/jenkins/jobs/xxxx-dev1/workspace
      URL: https://192.168.3.15/svn/xxxx/branches/dev1
      Repository Root: https://192.168.3.15/svn/xxxx
      Repository UUID: d0eb5361-05ce-7c4b-8453-cbb3c9b96fe4
      Revision: 131
      Node Kind: directory
      Schedule: normal

      trunk:
      Path: .
      Working Copy Root Path: /var/lib/jenkins/jobs/xxxx/workspace
      URL: https://192.168.3.15/svn/xxxx/trunk
      Repository Root: https://192.168.3.15/svn/xxxx
      Repository UUID: d0eb5361-05ce-7c4b-8453-cbb3c9b96fe4
      Revision: 129
      Node Kind: directory
      Schedule: normal

      What I've done was create a Jenkins job for the trunk. Then create a the dev1
      branch in Feature Branches. Then make a change to the README.md, perform a build,
      all on dev1. Then go to last build. Yet can't see the Integrate Branch action.

      Not sure if it's related, I've tried adding the Integrate to upstream upon successful build post-build action,
      and got an exception at the end of a (successful) build:

      ERROR: Publisher jenkins.plugins.svnmerge.IntegrationPublisher aborted due to exception
      java.lang.NullPointerException
      at jenkins.plugins.svnmerge.IntegrateAction.perform(IntegrateAction.java:183)
      at jenkins.plugins.svnmerge.IntegrateAction.perform(IntegrateAction.java:172)
      at jenkins.plugins.svnmerge.IntegrationPublisher.perform(IntegrationPublisher.java:51)
      at hudson.tasks.BuildStepMonitor$2.perform(BuildStepMonitor.java:32)
      at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:770)
      at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:734)
      at hudson.model.Build$BuildExecution.post2(Build.java:183)
      at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:683)
      at hudson.model.Run.execute(Run.java:1784)
      at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
      at hudson.model.ResourceController.execute(ResourceController.java:89)
      at hudson.model.Executor.run(Executor.java:240)

      I've double checked the Upstream project name is correct. Also, the branch job is created with "Feature Branch".

      In the "Configure" of branch job:
      "This project builds a Subversion feature branch" is checked;
      "Upstream project name" is "xxxx".

      In the Status page of branch job:
      "Subversion Merge Tracking
      This project is a feature branch of xxxx"

      Clicking the job link goes to the master job "xxxx", as expected.

      In the "Configure" of master job:
      "Accept Integration from Subversion feature branches" is checked.

      In the "Feature Branches" of master job:
      "Existing Feature Branches
      xxxx-dev1"

      Clicking the job name goes to the branch job, as expected.

      The svn repo is a fresh one, just for trying out the Jenkins. There is no other sources in it.

      I've double checked with:
      svn propget svn:externals
      Which returns empty.

      Attachments

        Issue Links

          Activity

            greghansen Greg Hansen added a comment - - edited

            I am running 2.4. See JENKINS-26347

            greghansen Greg Hansen added a comment - - edited I am running 2.4. See JENKINS-26347
            hugueschabot Hugues Chabot added a comment - - edited

            Integration won't work if if the SVN module "Ignore externals" option is checked. So, unless it is required to ignore svn:external, uncheking the option should re-enable Integration action.

            hugueschabot Hugues Chabot added a comment - - edited Integration won't work if if the SVN module "Ignore externals" option is checked. So, unless it is required to ignore svn:external, uncheking the option should re-enable Integration action.
            eidng8 Jackey Cheung added a comment -

            Yes, it works now. Thanks & look forward for updates.

            As a reference, I've done:

            1. downgrade Subversion plugin to 2.4.5;
            2. unchecked "Ignore externals" in master job's configure > "Source Code Management";
            3. unchecked "Ignore externals" in feature branch job's configure > "Source Code Management".

            The "Integrate Branch" is now available from feature branches build page.

            eidng8 Jackey Cheung added a comment - Yes, it works now. Thanks & look forward for updates. As a reference, I've done: 1. downgrade Subversion plugin to 2.4.5; 2. unchecked "Ignore externals" in master job's configure > "Source Code Management"; 3. unchecked "Ignore externals" in feature branch job's configure > "Source Code Management". The "Integrate Branch" is now available from feature branches build page.

            Code changed in jenkins
            User: Hugues Chabot
            Path:
            src/main/java/jenkins/plugins/svnmerge/IntegrateAction.java
            http://jenkins-ci.org/commit/svnmerge-plugin/8eddd8faa48960f0d46364e6dc15317aafbc1098
            Log:
            Do integration on the first module regardless of the number of modules defined and the "Ignore externals" option (see JENKINS-26280)

            Compare: https://github.com/jenkinsci/svnmerge-plugin/compare/a492cb131f04...8eddd8faa489

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Hugues Chabot Path: src/main/java/jenkins/plugins/svnmerge/IntegrateAction.java http://jenkins-ci.org/commit/svnmerge-plugin/8eddd8faa48960f0d46364e6dc15317aafbc1098 Log: Do integration on the first module regardless of the number of modules defined and the "Ignore externals" option (see JENKINS-26280 ) Compare: https://github.com/jenkinsci/svnmerge-plugin/compare/a492cb131f04...8eddd8faa489

            Code changed in jenkins
            User: Hugues Chabot
            Path:
            src/main/java/jenkins/plugins/svnmerge/IntegrateAction.java
            http://jenkins-ci.org/commit/svnmerge-plugin/2983d4bbfd9dd135197d7c7cf86cd6dc1da80183
            Log:
            Do integration on the first module and use SVNRevisionState to retrieve the correct revision of the build.
            [Fixed JENKINS-26280] Do integration regardless of the "Ignore externals" option.

            Compare: https://github.com/jenkinsci/svnmerge-plugin/compare/a5c00fdd471e...2983d4bbfd9d

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Hugues Chabot Path: src/main/java/jenkins/plugins/svnmerge/IntegrateAction.java http://jenkins-ci.org/commit/svnmerge-plugin/2983d4bbfd9dd135197d7c7cf86cd6dc1da80183 Log: Do integration on the first module and use SVNRevisionState to retrieve the correct revision of the build. [Fixed JENKINS-26280] Do integration regardless of the "Ignore externals" option. Compare: https://github.com/jenkinsci/svnmerge-plugin/compare/a5c00fdd471e...2983d4bbfd9d

            People

              hugueschabot Hugues Chabot
              eidng8 Jackey Cheung
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated: