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

svn export does not announce fetching of externals

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.8.x
    • ---
    • libsvn_client
    • None

    Description

      The below problem was (without the nested externals) posted and approved as bug on the users-mailinglist:
      http://mail-archives.apache.org/mod_mbox/subversion-dev/201411.mbox/%3C545B42995E120549B32D104E70ED2802E0591A1A%40srv-dag-01.fme.lan%3E
      
      When I export something which contains externals, subversion only prints “Exported revision X” after fetching an external, in contrast to a checkout, where you get an 
      announcement before fetching an external starts and where the message after fetching an external also explicitly states that an external was fetched. Additionally, 
      checkout does not handle *nested* externals correctly: As soon as one external is finished, the is_internal flag is reset to false and thus an external which has 
      nested externals will use the normal (non-external) log message upon completion.
      
      Imagine a trivial repository with just an empty folder hierarchy "Parent/Child/Grandchild" and two externals:
      In /:       ^/Parent       ExternalDir
      In /Parent: ^/Parent/Child ExternalChild
      
      Then, I get the following logs for checkout and export:
      ================================
      CHECKOUT
      ================================
      A    TestRepo_CO2\Parent
      A    TestRepo_CO2\Parent\Child
      A    TestRepo_CO2\Parent\Child\Grandchild
       U   TestRepo_CO2
      
      Fetching external item into 'TestRepo_CO2\ExternalDir':
      A    TestRepo_CO2\ExternalDir\Child
      A    TestRepo_CO2\ExternalDir\Child\Grandchild
       U   TestRepo_CO2\ExternalDir
      
      Fetching external item into 'TestRepo_CO2\ExternalDir\ExternalChild':
      A    TestRepo_CO2\ExternalDir\ExternalChild\Grandchild
      Checked out external at revision 2.
      
      Checked out revision 2.
      
      Fetching external item into 'TestRepo_CO2\Parent\ExternalChild':
      A    TestRepo_CO2\Parent\ExternalChild\Grandchild
      Checked out external at revision 2.
      
      Checked out revision 2.
      ================================
      
      
      ================================
      EXPORT
      ================================
      A    TestRepo_Export
      A    TestRepo_Export\Parent
      A    TestRepo_Export\Parent\Child
      A    TestRepo_Export\Parent\Child\Grandchild
      A    TestRepo_Export\Parent\ExternalChild
      A    TestRepo_Export\Parent\ExternalChild\Grandchild
      Exported revision 2.
      A    TestRepo_Export\ExternalDir
      A    TestRepo_Export\ExternalDir\Child
      A    TestRepo_Export\ExternalDir\Child\Grandchild
      A    TestRepo_Export\ExternalDir\ExternalChild
      A    TestRepo_Export\ExternalDir\ExternalChild\Grandchild
      Exported revision 2.
      Exported revision 2.
      Exported revision 2.
      ================================
      

      Original issue reported by mschmidt

      Attachments

        1. 2_test.sh
          0.8 kB
          Subversion Importer
        2. 1_test.bat
          1.0 kB
          Subversion Importer

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            subversion-importer Subversion Importer

            Dates

              Created:
              Updated:

              Slack

                Issue deployment