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

auto-props cannot match filename patterns starting with [

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • all
    • None
    • libsvn_subr
    • None

    Description

      An auto-props configuration matching the beginning of a path with a character class expression ((such as [a-zA-Z]) doesn't work as expected.

      In the following example, only the first auto-prop option, for *.yaml files, will take effect:

      [miscellany]
      enable-auto-props = yes
      [auto-props]
      *.[Yy][Aa][Mm][Ll] = svn:needs-lock;svn:keywords=Date Rev Author URL Id;svn:eol-style=native
      [Dd]ockerfile = svn:keywords=Date Rev Author URL Id;svn:eol-style=native      
      *.[Pp][Ll]  = svn:mime-type=text/x-perl;svn:keywords=Date Rev Author URL Id;svn:eol-style=native;svn:executable
      

      This is because the config parser actually evaluates the above example as:

      [miscellany]
      enable-auto-props = yes
      [auto-props]
      *.[Yy][Aa][Mm][Ll] = svn:needs-lock;svn:keywords=Date Rev Author URL Id;svn:eol-style=native
      
      [Dd]
      ockerfile = svn:keywords=Date Rev Author URL Id;svn:eol-style=native      
      *.[Pp][Ll]  = svn:mime-type=text/x-perl;svn:keywords=Date Rev Author URL Id;svn:eol-style=native;svn:executable
      

      I.e. the parser sees a section called "Dd" which is ignored entirely.

      Indenting "[Dd]ockerfile" by one space will make auto-props work for both test.yaml and test.pl but neither for dockerfile nor Dockerfile:

      [miscellany]
      enable-auto-props = yes
      [auto-props]
      *.[Yy][Aa][Mm][Ll] = svn:needs-lock;svn:keywords=Date Rev Author URL Id;svn:eol-style=native
       [Dd]ockerfile = svn:keywords=Date Rev Author URL Id;svn:eol-style=native      
      *.[Pp][Ll]  = svn:mime-type=text/x-perl;svn:keywords=Date Rev Author URL Id;svn:eol-style=native;svn:executable
      

      The above makes the dockerfile entry a continuation line for the previous line,
      and this continuation line seems to be ignored.

      So far, the only known workaround is to avoid use of character class matching in the first column of a line in the configuration file:

      [miscellany]
      enable-auto-props = yes
      [auto-props]
      *.[Yy][Aa][Mm][Ll] = svn:needs-lock;svn:keywords=Date Rev Author URL Id;svn:eol-style=native
      Dockerfile = svn:keywords=Date Rev Author URL Id;svn:eol-style=native      
      dockerfile = svn:keywords=Date Rev Author URL Id;svn:eol-style=native      
      *.[Pp][Ll]  = svn:mime-type=text/x-perl;svn:keywords=Date Rev Author URL Id;svn:eol-style=native;svn:executable
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              stsp Stefan Sperling
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: