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

Canonicalize / stringprep UTF-8 filenames to handle composed / decomposed differences shown by e.g. Mac OS X HFS+

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Abandoned
    • all
    • None
    • cmdline client
    • Mac OS X

    Description

      When subversion creates a file in the HFS+ filesystem of the OSX, the operating
      system normalizes the filenames to decomposed form of UTF-8. If the subversion
      repository contains filenames which are not in this form (for example if the
      repository is created in windows/linux and contains an "á" character).
      
      To reproduce the steps:
      - Create a file in a repository with "á" character in it in Windows or Linux
      - Commit it
      - Check out/update the repository on OSX on HFS+
      - Get a status of the repository
      

      http://svn.haxx.se/users/archive-2005-12/0191.shtml

      Original issue reported by dlux

      Attachments

        1. 1_smartsvn-bug-on-mac.jpg
          334 kB
          Subversion Importer
        2. 2_utf8precompose_macosx.path
          2 kB
          Subversion Importer
        3. 3_utf8precompose_macosx_2.patch
          2 kB
          Subversion Importer
        4. 4_subversion-1.6.12-fixed_unicode_path_compare.patch
          320 kB
          Subversion Importer
        5. 5_svn_176_osx_unicode_precomp.patch
          3 kB
          Subversion Importer
        6. 6_svn_status_utf8_fix.diff
          4 kB
          Subversion Importer
        7. 7_svn_1.8.x_darwin_unicode_precomp.patch
          4 kB
          Subversion Importer

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: