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

auto-props cannot match filename patterns starting with [

    Details

    • Type: Bug
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: all
    • Fix Version/s: None
    • Component/s: libsvn_subr
    • Labels:
      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

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

                Dates

                • Created:
                  Updated: