• Icon: Bug Bug
    • Resolution: Obsolete
    • Icon: Medium Medium
    • None
    • 2.2.3
    • None
    • None
    • Standalone, Ubuntu Hardy, JDK 1.6.0.06

      In the build configuration, the Source Repository tab displays a list of Externals Paths & Revisions.

      This is information is stored in the database column: BUILD_DEFINITION.XML_DEFINITION_DATA; in the following xpath: /configuration/repository/svn/externalsToRevisionMappings.

      When the svn:externals on the repository changes, new entries are added to this list; but old entries are not removed. So the list ends up showing more externals than are actually used.
      Luckily, the 'Detect changes in externals option' correctly detects only changes in the actual externals used, and not any of the superfluous entries.

      You should be able to look at the Source Repository tab and see an accurate list of externals.

      To replicate:

      1) Configure a repository URL with the following svn:externals property:

      TestA https://<path to some repository location>
      TestB https://<path to some other repository location>

      2) Create a build plan pointing at this URL. After saving, check the Source Repository tab (you should see "TestA" and "TestB" listed in the externals).

      3) Reconfigure the URL with the following svn:externals property:

      TestA https://<path to some repository location>
      TestC https://<path to a third repository location>

      4) Edit & resave the build plan, re-run the build etc.. The Source Repository tab will now list "TestA", "TestB" and "TestC" (even though TestB is not longer referenced anywhere).

            [BAM-4085] externalsToRevisionMappings entries not removed

            svn externals are no longer stored in build_definition, instead proper history is maintained for them

            Marcin Gardias added a comment - svn externals are no longer stored in build_definition, instead proper history is maintained for them

            This issue is causing some consternation in my group as well. Yesterday, a group member became concerned that, because some sensitive code was listed in the "Externals Path | Revision" table, that the code was part of a project that was being pushed to the public domain.

            Deleted Account (Inactive) added a comment - This issue is causing some consternation in my group as well. Yesterday, a group member became concerned that, because some sensitive code was listed in the "Externals Path | Revision" table, that the code was part of a project that was being pushed to the public domain.

            Also, when we deleted an external, Bamboo failed to update the build. It kept on returning errors:

            com.atlassian.bamboo.repository.RepositoryException: Build 'build-xyz' failed to check SVN repository
            at com.atlassian.bamboo.repository.svn.SvnRepository.collectChangesSinceLastBuild(SvnRepository.java:257)
            at com.atlassian.bamboo.v2.trigger.DefaultChangeDetectionManager.collectChangesSinceLastBuild(DefaultChangeDetectionManager.java:91)
            at com.atlassian.bamboo.v2.trigger.ChangeDetectionListenerAction.process(ChangeDetectionListenerAction.java:65)
            at com.atlassian.bamboo.build.DefaultBuildExecutionManager.tryToDetectAndBuild(DefaultBuildExecutionManager.java:99)
            at com.atlassian.bamboo.v2.trigger.ChangeDetectionListener.handleEvent(ChangeDetectionListener.java:41)
            at com.atlassian.bamboo.event.BambooEventManager$2.run(BambooEventManager.java:47)
            at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
            at com.atlassian.bamboo.build.pipeline.concurrent.NamedThreadFactory$1.run(NamedThreadFactory.java:33)
            at java.lang.Thread.run(Unknown Source)
            Caused by: org.tmatesoft.svn.core.SVNException: svn: URL 'http://svn/svn/trunk/components/tst' non-existent in revision '4,325'
            at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64)
            at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51)
            at org.tmatesoft.svn.core.wc.SVNWCClient.doInfo(SVNWCClient.java:2626)
            at org.tmatesoft.svn.core.wc.SVNWCClient.doInfo(SVNWCClient.java:2873)
            at com.atlassian.bamboo.repository.svn.SvnRepository.doInfo(SvnRepository.java:948)
            at com.atlassian.bamboo.repository.svn.SvnRepository.detectCommitsForUrl(SvnRepository.java:304)
            at com.atlassian.bamboo.repository.svn.SvnRepository.collectChangesSinceLastBuild(SvnRepository.java:246)
            ... 9 more

            I had to disable checking of external paths to get past this error.

            David Paxson added a comment - Also, when we deleted an external, Bamboo failed to update the build. It kept on returning errors: com.atlassian.bamboo.repository.RepositoryException: Build 'build-xyz' failed to check SVN repository at com.atlassian.bamboo.repository.svn.SvnRepository.collectChangesSinceLastBuild(SvnRepository.java:257) at com.atlassian.bamboo.v2.trigger.DefaultChangeDetectionManager.collectChangesSinceLastBuild(DefaultChangeDetectionManager.java:91) at com.atlassian.bamboo.v2.trigger.ChangeDetectionListenerAction.process(ChangeDetectionListenerAction.java:65) at com.atlassian.bamboo.build.DefaultBuildExecutionManager.tryToDetectAndBuild(DefaultBuildExecutionManager.java:99) at com.atlassian.bamboo.v2.trigger.ChangeDetectionListener.handleEvent(ChangeDetectionListener.java:41) at com.atlassian.bamboo.event.BambooEventManager$2.run(BambooEventManager.java:47) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at com.atlassian.bamboo.build.pipeline.concurrent.NamedThreadFactory$1.run(NamedThreadFactory.java:33) at java.lang.Thread.run(Unknown Source) Caused by: org.tmatesoft.svn.core.SVNException: svn: URL 'http://svn/svn/trunk/components/tst' non-existent in revision '4,325' at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64) at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51) at org.tmatesoft.svn.core.wc.SVNWCClient.doInfo(SVNWCClient.java:2626) at org.tmatesoft.svn.core.wc.SVNWCClient.doInfo(SVNWCClient.java:2873) at com.atlassian.bamboo.repository.svn.SvnRepository.doInfo(SvnRepository.java:948) at com.atlassian.bamboo.repository.svn.SvnRepository.detectCommitsForUrl(SvnRepository.java:304) at com.atlassian.bamboo.repository.svn.SvnRepository.collectChangesSinceLastBuild(SvnRepository.java:246) ... 9 more I had to disable checking of external paths to get past this error.

            We also could use this fixed. We are encountering it with version 2.5 build 1711.

            David Paxson added a comment - We also could use this fixed. We are encountering it with version 2.5 build 1711.

              Unassigned Unassigned
              95e70ce3996c Scott O'Hara
              Affected customers:
              4 This affects my team
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: