• Icon: Improvement Improvement
    • Resolution: Fixed
    • Icon: Major Major
    • core
    • None
    • Platform: All, OS: All

      Up until now hudson determines the directories of the modules it by selecting
      the last path component of the subversion URL:
      http://<svn>/<path>/module1 into directory module1
      http://<svn>/<path>/module2 into directory module2

      But if the paths end up with the same directory this will cause problems as
      hudson will checkout multiple projects into the same directory
      e.g:
      http://<svn>/<path>/module1/trunk into directory trunk
      http://<svn>/<path>/module2/trnuk into directory trunk <- conflict.

      It should be possible to define for each repository location a custom target
      directory ot avoid conflicts.

          [JENKINS-153] multiple module checkouts for subversion

          crashedworld added a comment -

          I'm trying to develop a comfortable way to specify a directory per subversion
          module location.

          crashedworld added a comment - I'm trying to develop a comfortable way to specify a directory per subversion module location.

          crashedworld added a comment -

          Created an attachment (id=26)
          multiple module checkout, inital idea

          crashedworld added a comment - Created an attachment (id=26) multiple module checkout, inital idea

          crashedworld added a comment -

          working version of a comfortable way to do multi module checkouts in subversion
          with the ability to specify local checkout directories.

          There is a single problem up until now:
          Migrating a "old" hudson configuration to the new layout doesn't work right now.

          crashedworld added a comment - working version of a comfortable way to do multi module checkouts in subversion with the ability to specify local checkout directories. There is a single problem up until now: Migrating a "old" hudson configuration to the new layout doesn't work right now.

          The patch looks good so far.

          See the class javadoc of
          https://hudson.dev.java.net/source/browse/hudson/hudson/main/core/src/main/java/hudson/XmlFile.java?view=markup
          for the data structure evolution. Let me know if this is unclear. I'd be more than
          happy to improve this documentation.

          Kohsuke Kawaguchi added a comment - The patch looks good so far. See the class javadoc of https://hudson.dev.java.net/source/browse/hudson/hudson/main/core/src/main/java/hudson/XmlFile.java?view=markup for the data structure evolution. Let me know if this is unclear. I'd be more than happy to improve this documentation.

          crashedworld added a comment -

          Created an attachment (id=28)
          new, enhanced version

          crashedworld added a comment - Created an attachment (id=28) new, enhanced version

          crashedworld added a comment -

          I've attached a new version of the multi module checkout for subversion.

          Importing of "old" hudson configurations is now possible and the configurations
          will be converted to the new format when invoking the next save.

          There a two little problems up until now which I was unable to solve:

          • The new ModuleLocation structure is beeing stored into the project config.xml
            using the fully qualified typename. It would be nice if it could be mapped to a
            easier name using the xstream capabilities
          • The validation of repository locations only works if the configuration has
            been saved once.

          crashedworld added a comment - I've attached a new version of the multi module checkout for subversion. Importing of "old" hudson configurations is now possible and the configurations will be converted to the new format when invoking the next save. There a two little problems up until now which I was unable to solve: The new ModuleLocation structure is beeing stored into the project config.xml using the fully qualified typename. It would be nice if it could be mapped to a easier name using the xstream capabilities The validation of repository locations only works if the configuration has been saved once.

          crashedworld added a comment -

          Some additional small problems detected:

          • checkout even with a corrupt configuration is possible (of course the svn
            command will fail)
          • empty configurations are not ignored
          • and (woops) there is a System.err.println I forgot in the source

          I'll address these problems tomorrow and upload a new patch as fast as possible

          crashedworld added a comment - Some additional small problems detected: checkout even with a corrupt configuration is possible (of course the svn command will fail) empty configurations are not ignored and (woops) there is a System.err.println I forgot in the source I'll address these problems tomorrow and upload a new patch as fast as possible

          ramazanyich2 added a comment -

          Created an attachment (id=42)
          new patch file for version 1.89

          ramazanyich2 added a comment - Created an attachment (id=42) new patch file for version 1.89

          Thank you very much for the revised patch. This change is finally integrated
          into 1.91.

          If I can ask you a favor, next time around, please try not to reformat the
          entire source file, so that I can see the actual changes more easily.

          Once again, thank you very much for taking this work to the completion.

          Kohsuke Kawaguchi added a comment - Thank you very much for the revised patch. This change is finally integrated into 1.91. If I can ask you a favor, next time around, please try not to reformat the entire source file, so that I can see the actual changes more easily. Once again, thank you very much for taking this work to the completion.

              • Issue 375 has been marked as a duplicate of this issue. ***

          Kohsuke Kawaguchi added a comment - Issue 375 has been marked as a duplicate of this issue. ***

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

              Created:
              Updated:
              Resolved: