Uploaded image for project: 'Subversion'
  1. Subversion
  2. SVN-4429

update via http with external pointing at redirected URL

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • trunk
    • ---
    • libsvn_wc
    • None

    Description

      When an external points to an absolute http:// URL that is redirected
      (permanently moved), an update fails in two ways.
      
      1. When the WC has been checked out afresh and no commits have taken place, the
      external's status is 'X' as expected; 'svn update' fails with:
      
      [[[
      + svn up
      Updating '.':
      Redirecting to URL 'http://localhost:8090/svn/repos_new':
      Redirecting to URL 'http://localhost:8090/svn/repos_new/realdir':
      
      Fetching external item into 'extdir':
      Redirecting to URL 'http://localhost:8090/svn/repos_new/realdir':
      svn: warning: apr_err=SVN_ERR_WC_INVALID_RELOCATION
      svn: warning: W155024: Invalid relocation destination:
      'http://localhost:8090/svn/repos_new' (does not point to target)
      
      At revision 2.
      subversion/svn/update-cmd.c:175: (apr_err=SVN_ERR_CL_ERROR_PROCESSING_EXTERNALS)
      svn: E205011: Failure occurred processing one or more externals definitions
      ]]]
      
      
      2. A commit done in the working copy changes the external's status to
      unversioned '?' (which is quite odd), and subsequent 'svn update' attempts fail
      with:
      
      [[[
      + svn up
      Updating '.':
      Redirecting to URL 'http://localhost:8090/svn/repos_new/realdir':
      
      Fetching external item into 'extdir':
      svn: warning: apr_err=SVN_ERR_RA_DAV_RELOCATED
      svn: warning: W175011: Repository moved permanently to
      'http://localhost:8090/svn/repos_new/realdir'; please relocate
      
      At revision 3.
      subversion/svn/update-cmd.c:175: (apr_err=SVN_ERR_CL_ERROR_PROCESSING_EXTERNALS)
      svn: E205011: Failure occurred processing one or more externals definitions
      ]]]
      
      New commits to the external source are not pulled from the repository, the
      external is stuck. Error messages apparently report false information.
      
      The user reported this for svn 1.7.13, but I just verified this behavior on trunk.
      
      To reproduce, first do the complete recipe as in issue #4428, and then:
      - for (1), just run 'svn up' in the newly checked-out WC.
      - for (2), run these:
      [[[
      svn st        # shows 'X  extdir'
      echo new >> realdir/y
      svn ci -mm
      svn st        # shows '?  extdir'
      svn up        # barfs
      cat extdir/y  # still old contents
      ]]]
      

      Original issue reported by neels

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              subversion-importer Subversion Importer
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: