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

Integrate branch gives "No changes to be integrated"

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: Critical
    • Resolution: Unresolved
    • Component/s: svnmerge-plugin
    • Labels:
      None
    • Environment:
      svn, Version 1.6.17 (r1128011) (client version on jenkins)
      SVN/1.6.17 SVNKit/1.3.7-1 (http://svnkit.com/) t20111225_1716 (SVN Server version)
      Jenkins ver. 1.488
      Jenkins svnmerge plugin 1.2
    • Similar Issues:

      Description

      1. Create a project with "Accept Integration from Subversion feature branches"
      2. SCM setting: check out trunk of a subversion project
      3. build the trunk project
      4. Create a feature branch from this project in jenkins (I called it "development")
      5. build the branch project
      6. integrate the build in the trunk - works correctly
      7. change some files in the branch and commit those changes
      8. build the branch project again
      9. integrate the new build in the trunk

      Gives:

      No changes to be integrated. Skipping integration.
      Completed

      Expected: the modified files are merged into the trunk

        Attachments

          Activity

          Hide
          lasrik Tobias Dittrich added a comment - - edited

          After looking around in the code I think I found the place where it goes wrong (FeatureBranchProperty.java line 273):

          FeatureBranchProperty.java
          final SVNException eureka = new SVNException(null);
                try {
                 cm.getLogClient().doLog(new File[]{mr},mergeRev,SVNRevision.create(lastIntegrationSourceRevision),mergeRev,true,false,-1,new ISVNLogEntryHandler() {
                  public void handleLogEntry(SVNLogEntry e) throws SVNException {
                   if (e.getMessage().startsWith(RebaseAction.COMMIT_MESSAGE_PREFIX)
                    || e.getMessage().startsWith(IntegrateAction.COMMIT_MESSAGE_PREFIX))
                    return; // merge commits
                   throw eureka;
                  }
                 });
                 // didn't find anything interesting. all the changes are our merges
                 logger.println("No changes to be integrated. Skipping integration.");
                 return new IntegrationResult(0,mergeRev);
             } catch (SVNException e) {
               if (e!=eureka)
               throw e; // some other problems
               // found some changes, keep on integrating
           }
          

          It seems like eureka is handled gracefully in the parsing process and so the catch block is never reached.

          I'm not 100 percent sure, though, because debugging this part in netbeans is quite tricky Half of the time breakpoints are ignored in the inner classes.

          Show
          lasrik Tobias Dittrich added a comment - - edited After looking around in the code I think I found the place where it goes wrong (FeatureBranchProperty.java line 273): FeatureBranchProperty.java final SVNException eureka = new SVNException( null ); try { cm.getLogClient().doLog( new File[]{mr},mergeRev,SVNRevision.create(lastIntegrationSourceRevision),mergeRev, true , false ,-1, new ISVNLogEntryHandler() { public void handleLogEntry(SVNLogEntry e) throws SVNException { if (e.getMessage().startsWith(RebaseAction.COMMIT_MESSAGE_PREFIX) || e.getMessage().startsWith(IntegrateAction.COMMIT_MESSAGE_PREFIX)) return ; // merge commits throw eureka; } }); // didn't find anything interesting. all the changes are our merges logger.println( "No changes to be integrated. Skipping integration." ); return new IntegrationResult(0,mergeRev); } catch (SVNException e) { if (e!=eureka) throw e; // some other problems // found some changes, keep on integrating } It seems like eureka is handled gracefully in the parsing process and so the catch block is never reached. I'm not 100 percent sure, though, because debugging this part in netbeans is quite tricky Half of the time breakpoints are ignored in the inner classes.

            People

            Assignee:
            kohsuke Kohsuke Kawaguchi
            Reporter:
            lasrik Tobias Dittrich
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated: