Skip to content

[JENKINS-763] Gracefully handle project deleted in SVN #399

Closed

Description

@jenkins-infra-bot

With Hudson 1.132, when a project gets deleted in SVN, Hudson errors out.


Originally reported by jbq, imported from: Gracefully handle project deleted in SVN
  • status: Closed
  • priority: Major
  • component(s): subversion-plugin
  • resolution: Fixed
  • resolved: 2007-09-11T01:03:13+00:00
  • votes: 0
  • watchers: 0
  • imported: 20251212-090250
Raw content of original issue

With Hudson 1.132, when a project gets deleted in SVN, Hudson errors out.

  • environment: Platform: All, OS: All
1 attachment

Activity

  1. jenkins-infra-bot commented on Aug 23, 2007

    @jenkins-infra-bot
    Author
    jbq:
    • Original comment link
    • Raw content of original comment:

      Created an attachment (id=84) Contents of the failure email message

    Created an attachment (id=84)
    Contents of the failure email message

  2. jenkins-infra-bot commented on Aug 23, 2007

    @jenkins-infra-bot
    Author
    jbq:
    • Original comment link
    • Raw content of original comment:

      Note that the setting "Local module directory" has value "." in the project configuration as I indicate the full URL in "Repository URL"

    Note that the setting "Local module directory" has value "." in the project
    configuration as I indicate the full URL in "Repository URL"

  3. jenkins-infra-bot commented on Aug 23, 2007

    @jenkins-infra-bot
    Author
    jbq:
    • Original comment link
    • Raw content of original comment:

      Additionally, subsequent builds fail with the following error:

      Checking out a fresh workspace because Hudson failed to detect the current workspace /path/to/mycompany/repository/myproject ERROR: svn: Cannot read entry for '/path/to/mycompany/repository/myproject' ... Checking out https://svn.mycompany.com/repos/mycompany/myproject ERROR: Failed to check out https://svn.mycompany.com/repos/mycompany/myproject org.tmatesoft.svn.core.SVNException: svn: URL 'https://svn.mycompany.com/repos/mycompany/myproject' doesn't exist

    Additionally, subsequent builds fail with the following error:

    Checking out a fresh workspace because Hudson failed to detect the current
    workspace /path/to/mycompany/repository/myproject
    ERROR: svn: Cannot read entry for '/path/to/mycompany/repository/myproject'
    ...
    Checking out https://svn.mycompany.com/repos/mycompany/myproject
    ERROR: Failed to check out https://svn.mycompany.com/repos/mycompany/myproject
    org.tmatesoft.svn.core.SVNException: svn: URL
    'https://svn.mycompany.com/repos/mycompany/myproject' doesn't exist

  4. jenkins-infra-bot commented on Sep 6, 2007

    @jenkins-infra-bot
    Author
    jbq:
    • Original comment link
    • Raw content of original comment:

      Here is the new error message:

      ERROR: Failed to update file:///tmp/svn56005.tmp/repo/project org.tmatesoft.svn.core.SVNException: svn: Cannot replace a directory from within at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:49) at org.tmatesoft.svn.core.internal.io.fs.FSUpdateContext.drive(FSUpdateContext.java:277) at org.tmatesoft.svn.core.internal.io.fs.FSRepository.finishReport(FSRepository.java:1027) at org.tmatesoft.svn.core.internal.wc.admin.SVNReporter.report(SVNReporter.java:104) at org.tmatesoft.svn.core.internal.io.fs.FSRepository.update(FSRepository.java:784) at org.tmatesoft.svn.core.wc.SVNUpdateClient.doUpdate(SVNUpdateClient.java:162) at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:368) at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:1) at hudson.FilePath.act(FilePath.java:280) at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:338) at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:295) at hudson.model.AbstractProject.checkout(AbstractProject.java:488) at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:160) at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:126) at hudson.model.Run.run(Run.java:573) at hudson.model.Build.run(Build.java:107) at hudson.model.ResourceController.execute(ResourceController.java:66) at hudson.model.Executor.run(Executor.java:59)

    Here is the new error message:

    ERROR: Failed to update file:///tmp/svn56005.tmp/repo/project
    org.tmatesoft.svn.core.SVNException: svn: Cannot replace a directory from within
    at
    org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:49)
    at
    org.tmatesoft.svn.core.internal.io.fs.FSUpdateContext.drive(FSUpdateContext.java:277)
    at
    org.tmatesoft.svn.core.internal.io.fs.FSRepository.finishReport(FSRepository.java:1027)
    at
    org.tmatesoft.svn.core.internal.wc.admin.SVNReporter.report(SVNReporter.java:104)
    at org.tmatesoft.svn.core.internal.io.fs.FSRepository.update(FSRepository.java:784)
    at org.tmatesoft.svn.core.wc.SVNUpdateClient.doUpdate(SVNUpdateClient.java:162)
    at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:368)
    at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:1)
    at hudson.FilePath.act(FilePath.java:280)
    at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:338)
    at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:295)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:488)
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:160)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:126)
    at hudson.model.Run.run(Run.java:573)
    at hudson.model.Build.run(Build.java:107)
    at hudson.model.ResourceController.execute(ResourceController.java:66)
    at hudson.model.Executor.run(Executor.java:59)

  5. jenkins-infra-bot commented on Sep 6, 2007

    @jenkins-infra-bot
    Author
    jbq:
    • Original comment link
    • Raw content of original comment:

      Change title to better reflect the fact that Hudson could be more intelligent when a project gets deleted

    Change title to better reflect the fact that Hudson could be more intelligent
    when a project gets deleted

  6. jenkins-infra-bot commented on Sep 6, 2007

    @jenkins-infra-bot
    Author
    jbq:
    • Original comment link
    • Raw content of original comment:

      Project is now disabled when it has been deleted from SVN, so that subsequent builds are not triggered.

    Project is now disabled when it has been deleted from SVN, so that subsequent
    builds are not triggered.

  7. jenkins-infra-bot commented on Sep 10, 2007

    @jenkins-infra-bot
    Author
    jbq:
    • Original comment link
    • Raw content of original comment:

      Also happens during polling:

      Failed to check repository revision for http://svn.repo/project org.tmatesoft.svn.core.SVNException: svn: URL 'http://svn.repo/project' non-existent in revision '3,763' at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:49) at org.tmatesoft.svn.core.wc.SVNWCClient.doInfo(SVNWCClient.java:1985) at org.tmatesoft.svn.core.wc.SVNWCClient.doInfo(SVNWCClient.java:2198) at hudson.scm.SubversionSCM.parseSvnInfo(SubversionSCM.java:497) at hudson.scm.SubversionSCM.pollChanges(SubversionSCM.java:641) at hudson.model.AbstractProject.pollSCMChanges(AbstractProject.java:531) at hudson.triggers.SCMTrigger$Runner.runPolling(SCMTrigger.java:238) at hudson.triggers.SCMTrigger$Runner.run(SCMTrigger.java:270) at hudson.triggers.SCMTrigger.run(SCMTrigger.java:73) at hudson.triggers.Trigger$1$1.run(Trigger.java:161) at hudson.DependencyRunner.(DependencyRunner.java:29) at hudson.triggers.Trigger$1.run(Trigger.java:157) at hudson.triggers.Trigger.checkTriggers(Trigger.java:154) at hudson.triggers.Trigger$Cron.doRun(Trigger.java:137) at hudson.triggers.SafeTimerTask.run(SafeTimerTask.java:18) at java.util.TimerThread.mainLoop(Timer.java:512) at java.util.TimerThread.run(Timer.java:462) Done. Took 0 seconds No changes

    Also happens during polling:

    Failed to check repository revision for http://svn.repo/project
    org.tmatesoft.svn.core.SVNException: svn: URL 'http://svn.repo/project'
    non-existent in revision '3,763'
    at
    org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:49)
    at org.tmatesoft.svn.core.wc.SVNWCClient.doInfo(SVNWCClient.java:1985)
    at org.tmatesoft.svn.core.wc.SVNWCClient.doInfo(SVNWCClient.java:2198)
    at hudson.scm.SubversionSCM.parseSvnInfo(SubversionSCM.java:497)
    at hudson.scm.SubversionSCM.pollChanges(SubversionSCM.java:641)
    at hudson.model.AbstractProject.pollSCMChanges(AbstractProject.java:531)
    at hudson.triggers.SCMTrigger$Runner.runPolling(SCMTrigger.java:238)
    at hudson.triggers.SCMTrigger$Runner.run(SCMTrigger.java:270)
    at hudson.triggers.SCMTrigger.run(SCMTrigger.java:73)
    at hudson.triggers.Trigger$1$1.run(Trigger.java:161)
    at hudson.DependencyRunner.(DependencyRunner.java:29)
    at hudson.triggers.Trigger$1.run(Trigger.java:157)
    at hudson.triggers.Trigger.checkTriggers(Trigger.java:154)
    at hudson.triggers.Trigger$Cron.doRun(Trigger.java:137)
    at hudson.triggers.SafeTimerTask.run(SafeTimerTask.java:18)
    at java.util.TimerThread.mainLoop(Timer.java:512)
    at java.util.TimerThread.run(Timer.java:462)
    Done. Took 0 seconds
    No changes

  8. jenkins-infra-bot commented on Sep 11, 2007

    @jenkins-infra-bot
    Author
    jbq:
    • Original comment link
    • Raw content of original comment:

      Disable project if an SVNException is thrown during polling. In the future it might be good to be more specific, ie recognize that the message in the cause contains eg "Cannot replace a directory from within" to avoid disabling the project when eg Internet is down.

      NOTE: the fix has not been tested with multiple repositories set (any hint about what's the point of multiple repositories per project is welcome).

    Disable project if an SVNException is thrown during polling. In the future it
    might be good to be more specific, ie recognize that the message in the cause
    contains eg "Cannot replace a directory from within" to avoid disabling the
    project when eg Internet is down.

    NOTE: the fix has not been tested with multiple repositories set (any hint about
    what's the point of multiple repositories per project is welcome).

  9. jenkins-infra-bot commented on Sep 11, 2007

    @jenkins-infra-bot
    Author
    akostadinov:
    • Original comment link
    • Raw content of original comment:

      Why do we need multiple repositories per project: 1. Sometimes project modules are in different repositories. 2. When testing project's interoperability with another project(s).

      Yes, many times that can be avoided but please leave that functionality.

    Why do we need multiple repositories per project:
    1. Sometimes project modules are in different repositories.
    2. When testing project's interoperability with another project(s).

    Yes, many times that can be avoided but please leave that functionality.

  10. jenkins-infra-bot commented on Apr 18, 2008

    @jenkins-infra-bot
    Author
    scm_issue_link:

    Code changed in hudson
    User: : kohsuke
    Path:
    trunk/hudson/main/core/src/main/java/hudson/scm/SubversionSCM.java
    http://fisheye4.cenqua.com/changelog/hudson/?cs=8767
    Log:
    Don't disable the build too eagerly (issue #1567) (also see issue #763)

  11. jenkins-infra-bot commented on Apr 18, 2008

    @jenkins-infra-bot
    Author
    scm_issue_link:

    Code changed in hudson
    User: : kohsuke
    Path:
    trunk/www/changelog.html
    http://fisheye4.cenqua.com/changelog/hudson/?cs=8768
    Log:
    Don't disable the build too eagerly (issue #1567) (also see issue #763)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions