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

Add path filters to exclude/include update checking

    • Icon: Improvement Improvement
    • Resolution: Duplicate
    • Icon: Critical Critical
    • subversion-plugin
    • None
    • Platform: All, OS: All

      I have multi module Maven project. Modules have own trunk/tag/branch structure.
      So the Hudson checked out not only the trunk but also all branches and tags. It
      is not so convenient, especially in case of parallel development in several
      trunks (branches). I see several ways to resolve such situation:

      1. Checkout (and check for updates) modules according <scm> tags.
      2. Introduce filters to include/exclude scm paths from checkout (updated)
      process. Similar feature implemented in FishEye to segregate the
      trunks/branches/tags for SVN
      3. Use the second way but for Maven projects build the filter list automatically
      according the content of <scm> tags.

          [JENKINS-1089] Add path filters to exclude/include update checking

          Could you illustrate your SCM structure a bit more? Does it work like:

          /
          moduleX/trunk/
          tags/
          branches/
          moduleY/trunk/
          tags/
          branches/

          ... ?

          If so, I don't understand how looking at <scm> in each module helps. I mean, for
          Hudson to look at POM, it needs to first check out, so it's too late.

          Kohsuke Kawaguchi added a comment - Could you illustrate your SCM structure a bit more? Does it work like: / moduleX/trunk/ tags/ branches/ moduleY/trunk/ tags/ branches/ ... ? If so, I don't understand how looking at <scm> in each module helps. I mean, for Hudson to look at POM, it needs to first check out, so it's too late.

          foal added a comment -

          Yes, I have exactly that layout.

          The location of modules in SVN can be calculated from Repository URL of parent
          project, location of Root POM inside the parent project and content of <module/>
          tag.

          e.g. parent.pom
          Repository URL: svn://svn.company.net/Project
          Root POM: general/1.0.0/pom.xml
          <modules><module>../../client/${uam.version}/pom</module></modules>

          Module POM location: svn://svn.company.net/Project/client/1.0.0/pom

          Or the hudson can act as now:
          Check out the whole project structure (existing step).
          Locate all modules (existing step).
          Calculate filters (new step).
          And then update (check for update) according calculated filters.

          There is one complication - detection of new modules. Now it is happening
          automatically - but with filters you will need to recalculate it on changes in
          modules structure.

          But at least the manual filters (e.g. ignore all changes in *\branches*) will
          help.

          foal added a comment - Yes, I have exactly that layout. The location of modules in SVN can be calculated from Repository URL of parent project, location of Root POM inside the parent project and content of <module/> tag. e.g. parent.pom Repository URL: svn://svn.company.net/Project Root POM: general/1.0.0/pom.xml <modules><module>../../client/${uam.version}/pom</module></modules> Module POM location: svn://svn.company.net/Project/client/1.0.0/pom Or the hudson can act as now: Check out the whole project structure (existing step). Locate all modules (existing step). Calculate filters (new step). And then update (check for update) according calculated filters. There is one complication - detection of new modules. Now it is happening automatically - but with filters you will need to recalculate it on changes in modules structure. But at least the manual filters (e.g. ignore all changes in * \branches* ) will help.

          mdonohue added a comment -

          3124 is actually a duplicate of this, but it's already been fixed

              • This issue has been marked as a duplicate of 3124 ***

          mdonohue added a comment - 3124 is actually a duplicate of this, but it's already been fixed This issue has been marked as a duplicate of 3124 ***

            Unassigned Unassigned
            foal foal
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: