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

Changelog entries for SVN externals were broken in 2.0

      This commit broke changelog entries from external locations. Even with the proposed solution to JENKINS-22199 the paths remain broken (presumably except for the JENKINS-18574 use case).

      From the linked commit's discussion (see full discussion for context):

      But that's still not the actual problem! Since /trunk/baz/baz doesn't exist anywhere except for a local working copy, it will break all repo browsers even when implemented "correctly": .../repo2/trunk/baz/ simply does not exist as an actual path. And even if there is a repo browser that supports "virtual" paths for browsing, it won't be able to show the diff between two revisions of a completely different repository: Given the revisions in my test setup above, it's likely to result in links to something like http://svnbrowser/repo2/trunk/baz/baz?rev=4, when that revision doesn't even exist in that repo.

      I also tested the "exclude paths" option: While the changelog now shows the changed path baz/baz, I have to exclude the location /projectX/trunk/.* to ignore it. Which is obviously really confusing: how do you get from an accidentally polling-triggered build's change log to the correct location to exclude in the configuration? It's trivial in the old format, you just copy and paste from the change log.

      And while we're at it, changelog.xml lost the information about what kind of entity this is (tested with the master snapshot build):

      <path action="M" kind="unknown">baz/baz</path>
      

      as opposed to:

      <path action="M" kind="file">/projectX/trunk/baz</path>
      

      Solutions to JENKINS-18574 should not break the recording of changed paths and the repo browsers depending on those paths.

          [JENKINS-22778] Changelog entries for SVN externals were broken in 2.0

          Daniel Beck created issue -
          Daniel Beck made changes -
          Link New: This issue is related to JENKINS-18574 [ JENKINS-18574 ]
          Daniel Beck made changes -
          Summary Original: Changelog entries for externals have become useless New: Changelog entries for SVN externals were broken in 2.0
          Daniel Beck made changes -
          Description Original: [This commit|https://github.com/jenkinsci/subversion-plugin/commit/ec606ac7557772cb07e72f00c084203810ebd815] broke changelog entries from external locations. Even with the [proposed solution|https://github.com/jenkinsci/subversion-plugin/pull/73] to JENKINS-22199 the paths remain broken (presumably except for the JENKINS-18574 use case).

          From the linked commit's discussion (see full discussion for context):

          {quote}But that's still not the actual problem! Since {{/trunk/baz/baz}} doesn't exist anywhere except for a local working copy, it will break all repo browsers even when implemented "correctly": {{.../repo2/trunk/baz/}} simply does not exist as an actual path. And even if there is a repo browser that supports "virtual" paths for browsing, it won't be able to show the diff between two revisions of a completely different repository: Given the revisions in my test setup above, it's likely to result in links to something like http://svnbrowser/repo2/trunk/baz/baz?rev=4, when that revision doesn't even exist in that repo.

          I also tested the "exclude paths" option: While the changelog now shows the changed path {{baz/baz}}, I have to exclude the location {{/projectX/trunk/.*}} to ignore it. Which is obviously really confusing: how do you get from an accidentally polling-triggered build's change log to the correct location to exclude in the configuration? It's trivial in the old format, you just copy and paste from the change log.

          And while we're at it, {{changelog.xml}} lost the information about what kind of entity this is (tested with the master snapshot build):
          {code}
          <path action="M" kind="unknown">baz/baz</path>
          {code}
          as opposed to:
          {code}
          <path action="M" kind="file">/projectX/trunk/baz</path>
          {code}
          {quote}
          New: [This commit|https://github.com/jenkinsci/subversion-plugin/commit/ec606ac7557772cb07e72f00c084203810ebd815] broke changelog entries from external locations. Even with the [proposed solution|https://github.com/jenkinsci/subversion-plugin/pull/73] to JENKINS-22199 the paths remain broken (presumably except for the JENKINS-18574 use case).

          From the linked commit's discussion (see full discussion for context):

          {quote}But that's still not the actual problem! Since {{/trunk/baz/baz}} doesn't exist anywhere except for a local working copy, it will break all repo browsers even when implemented "correctly": {{.../repo2/trunk/baz/}} simply does not exist as an actual path. And even if there is a repo browser that supports "virtual" paths for browsing, it won't be able to show the diff between two revisions of a completely different repository: Given the revisions in my test setup above, it's likely to result in links to something like http://svnbrowser/repo2/trunk/baz/baz?rev=4, when that revision doesn't even exist in that repo.

          I also tested the "exclude paths" option: While the changelog now shows the changed path {{baz/baz}}, I have to exclude the location {{/projectX/trunk/.*}} to ignore it. Which is obviously really confusing: how do you get from an accidentally polling-triggered build's change log to the correct location to exclude in the configuration? It's trivial in the old format, you just copy and paste from the change log.

          And while we're at it, {{changelog.xml}} lost the information about what kind of entity this is (tested with the master snapshot build):
          {code}
          <path action="M" kind="unknown">baz/baz</path>
          {code}
          as opposed to:
          {code}
          <path action="M" kind="file">/projectX/trunk/baz</path>
          {code}
          {quote}

          Solutions to JENKINS-18574 should not break the recording of changed paths and the repo browsers depending on those paths.
          Daniel Beck made changes -
          Link New: This issue is related to JENKINS-16045 [ JENKINS-16045 ]
          kutzi made changes -
          Labels New: regression
          kutzi made changes -
          Assignee New: kutzi [ kutzi ]
          Resolution New: Fixed [ 1 ]
          Status Original: Open [ 1 ] New: Resolved [ 5 ]
          R. Tyler Croy made changes -
          Workflow Original: JNJira [ 154892 ] New: JNJira + In-Review [ 195073 ]

            kutzi kutzi
            danielbeck Daniel Beck
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: