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

prevent recursive loops in svn:externals

    XMLWordPrintableJSON

Details

    Description

      It can be reproduced with either SVN 0.34 or a fresh build of 0.36 on a Win2K
      client. Our Server is still running 0.32.1 (we're waiting for 1.0 to make the
      next step), but the linux 0.32.1 client behaves just the same (tried it a few
      seconds ago). The messages are copy&pasted from my windows box.
      
      Steps to reproduce:
      - inside a working copy create a blank directory named "test"
      - set the "svn:externals" property on the WC to "test
      http://some.repository/location"
      - type "svn st", lean back and watch the infinite loop go by
      
      --- SNIP ---
      D:\xxx\trunk>svn st
      X      test
       M     .
      
      Performing status on external item at test
      X      test
      
      Performing status on external item at test
      X      test
      
      ...Repeat as often as you like...
      
      Performing status on external item at test
      X      test
      
      Performing status on external item at test
      svn: The operation was interrupted
      svn: caught SIGINT
      --- SNIP ---
      
      "svn st -N" behaves correctly
      
      checkin doesn't fix the problem
      
      Now it's getting even funnier:
      
      
      --- SNIP ---
      D:\xx\trunk>svn up
      
      Fetching external item into 'test'
      svn: 'test' is not a working copy
      --- SNIP ---
      
      OK, svn is right, so we get rid of 'test'
      
      --- SNIP ---
      D:\xx\trunk>rmdir test
      D:\xx\trunk>svn up
      
      Fetching external item into 'test'
      A  test\SVN-Test.txt
       U test
      
      Fetching external item into 'test\test'
      A  test\test\SVN-Test.txt
       U test\test
      
      Fetching external item into 'test\test\test'
      A  test\test\test\SVN-Test.txt
       U test\test\test
      
      Fetching external item into 'test\test\test\test'
      A  test\test\test\test\SVN-Test.txt
       U test\test\test\test
      
      Fetching external item into 'test\test\test\test\test'
      ^C
      D:\xx\trunk>
      It can be reproduced with either SVN 0.34 or a fresh build of 0.36 on a Win2K
      client. Our Server is still running 0.32.1 (we're waiting for 1.0 to make the
      next step), but the linux 0.32.1 client behaves just the same (tried it a few
      seconds ago). The messages are copy&pasted from my windows box.
      
      Steps to reproduce:
      - inside a working copy create a blank directory named "test"
      - set the "svn:externals" property on the WC to "test
      http://some.repository/location"
      - type "svn st", lean back and watch the infinite loop go by
      
      --- SNIP ---
      D:\xxx\trunk>svn st
      X      test
       M     .
      
      Performing status on external item at test
      X      test
      
      Performing status on external item at test
      X      test
      
      ...Repeat as often as you like...
      
      Performing status on external item at test
      X      test
      
      Performing status on external item at test
      svn: The operation was interrupted
      svn: caught SIGINT
      --- SNIP ---
      
      "svn st -N" behaves correctly
      
      checkin doesn't fix the problem
      
      Now it's getting even funnier:
      
      
      --- SNIP ---
      D:\xx\trunk>svn up
      
      Fetching external item into 'test'
      svn: 'test' is not a working copy
      --- SNIP ---
      
      OK, svn is right, so we get rid of 'test'
      
      --- SNIP ---
      D:\xx\trunk>rmdir test
      D:\xx\trunk>svn up
      
      Fetching external item into 'test'
      A  test\SVN-Test.txt
       U test
      
      Fetching external item into 'test\test'
      A  test\test\SVN-Test.txt
       U test\test
      
      Fetching external item into 'test\test\test'
      A  test\test\test\SVN-Test.txt
       U test\test\test
      
      Fetching external item into 'test\test\test\test'
      A  test\test\test\test\SVN-Test.txt
       U test\test\test\test
      
      Fetching external item into 'test\test\test\test\test'
      ^C
      D:\xx\trunk>
      --- SNIP ---
      

      Original issue reported by luebbe

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated: