Forrest
  1. Forrest
  2. FOR-124

The SVN repository needs some configuration tweaks

    Details

    • Type: Task Task
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Core operations
    • Labels:
      None

      Description

      Apache infrastructure@a.o has converted our repositories from CVS to SVN. Now we (Forrest) need to tweak its configuration.

      For example, being an opensource project, we have developers using multiple operating systems so we need to attend to the "svn:eol-style" property. This has been commenced but there are some issues. See http://marc.theaimsgroup.com/?l=forrest-dev&m=108000337929621 and recent messages to infrastructure@a.o

      We also need to convert our old ".cvsignore" files to use the "svn:ignore" property.

        Issue Links

          Activity

          Hide
          Dave Brondsema added a comment -
          The .gif files on my linux box are corrupt. They, and more, appear to be corrupt in windows.

          These ones appear to have the svn:eol-style prop set to 'native'. Some, like pdfdoc.gif do not have this property set and work fine.

          So we need to find all binary files with svn:eol-style set and delete the property.
          Show
          Dave Brondsema added a comment - The .gif files on my linux box are corrupt. They, and more, appear to be corrupt in windows. These ones appear to have the svn:eol-style prop set to 'native'. Some, like pdfdoc.gif do not have this property set and work fine. So we need to find all binary files with svn:eol-style set and delete the property.
          Hide
          Dave Brondsema added a comment -
          the only binary files that had svn:eol-style native set were .gif files. I removed that property. However, the following files got messed up in the process:

          scratchpad\layout\xml.apache.org\images
          current.gif
          src\core\context\skins
          tigris-style\images
          icon_arrowmembers2_sml.gif
          krysalis-site\images
          label.gif
          current.gif
          forrest-site\images
          label.gif
          current.gif
          forrest-css\images
          label.gif
          current.gif

          I restored them from previous versions.
          Show
          Dave Brondsema added a comment - the only binary files that had svn:eol-style native set were .gif files. I removed that property. However, the following files got messed up in the process: scratchpad\layout\xml.apache.org\images current.gif src\core\context\skins tigris-style\images icon_arrowmembers2_sml.gif krysalis-site\images label.gif current.gif forrest-site\images label.gif current.gif forrest-css\images label.gif current.gif I restored them from previous versions.
          Hide
          Dave Brondsema added a comment -
          If no svn:eol-style is specified, it's not native. We want native for many files. You can modify ~/.subversion/config (%USERPROFILE%/Application Data/Subversion/config in Windows) so the client automatically adds svn:eol-style:native to new files.

          Set "enable-auto-props = yes" in the [miscellany] section and the following properties in the [auto-props] section. Make sure the section titles are not commented out.

          This list should handle nearly everything Forrest uses.

          *.sh = svn:eol-style=native;svn:executable
          *.txt = svn:eol-style=native
          *.java = svn:eol-style=native
          *.properties = svn:eol-style=native
          *.xml = svn:eol-style=native
          *.bat = svn:eol-style=native
          *.xmap = svn:eol-style=native
          *.css = svn:eol-style=native
          *.js = svn:eol-style=native
          *.xslt = svn:eol-style=native
          *.grm = svn:eol-style=native
          *.xgrm = svn:eol-style=native
          *.egrm = svn:eol-style=native
          *.xegrm = svn:eol-style=native
          *.xlex = svn:eol-style=native
          *.xsp = svn:eol-style=native
          *.html = svn:eol-style=native
          *.ihtml = svn:eol-style=native
          *.ent = svn:eol-style=native
          *.dtd = svn:eol-style=native
          *.mod = svn:eol-style=native
          *.pen = svn:eol-style=native
          *.xslt = svn:eol-style=native
          *.xsl = svn:eol-style=native
          *.xcat = svn:eol-style=native
          *.rnc = svn:eol-style=native
          *.rnx = svn:eol-style=native
          *.rng = svn:eol-style=native
          *.xconf = svn:eol-style=native
          *.svg = svn:eol-style=native
          *.cwiki = svn:eol-style=native
          *.xul = svn:eol-style=native
          *.rdf = svn:eol-style=native
          *.aart = svn:eol-style=native
          *.jsp = svn:eol-style=native
          *.tld = svn:eol-style=native
          *.pl = svn:eol-style=native
          *.py = svn:eol-style=native
          *.cmd = svn:eol-style=native
          Show
          Dave Brondsema added a comment - If no svn:eol-style is specified, it's not native. We want native for many files. You can modify ~/.subversion/config (%USERPROFILE%/Application Data/Subversion/config in Windows) so the client automatically adds svn:eol-style:native to new files. Set "enable-auto-props = yes" in the [miscellany] section and the following properties in the [auto-props] section. Make sure the section titles are not commented out. This list should handle nearly everything Forrest uses. *.sh = svn:eol-style=native;svn:executable *.txt = svn:eol-style=native *.java = svn:eol-style=native *.properties = svn:eol-style=native *.xml = svn:eol-style=native *.bat = svn:eol-style=native *.xmap = svn:eol-style=native *.css = svn:eol-style=native *.js = svn:eol-style=native *.xslt = svn:eol-style=native *.grm = svn:eol-style=native *.xgrm = svn:eol-style=native *.egrm = svn:eol-style=native *.xegrm = svn:eol-style=native *.xlex = svn:eol-style=native *.xsp = svn:eol-style=native *.html = svn:eol-style=native *.ihtml = svn:eol-style=native *.ent = svn:eol-style=native *.dtd = svn:eol-style=native *.mod = svn:eol-style=native *.pen = svn:eol-style=native *.xslt = svn:eol-style=native *.xsl = svn:eol-style=native *.xcat = svn:eol-style=native *.rnc = svn:eol-style=native *.rnx = svn:eol-style=native *.rng = svn:eol-style=native *.xconf = svn:eol-style=native *.svg = svn:eol-style=native *.cwiki = svn:eol-style=native *.xul = svn:eol-style=native *.rdf = svn:eol-style=native *.aart = svn:eol-style=native *.jsp = svn:eol-style=native *.tld = svn:eol-style=native *.pl = svn:eol-style=native *.py = svn:eol-style=native *.cmd = svn:eol-style=native
          Hide
          David Crossley added a comment -
          That is a partial workaround, but you still need to take care
          when preparing to commit, that the line-endings are appropriate
          for your OS and that the properties are set. Don't know about
          other clients, but the command-line client tells you on doing
          the 'svn commit' for newly added files, whether any properties
          are set.

          By the way i just wrote a Perl script to scan an SVN repository
          and find all the text filename extensions. Added 11 and removed a duplicate for .xslt

          Here is the current list, sorted alphabetically:

          *.aart = svn:eol-style=native
          *.ai = svn:eol-style=native
          *.bat = svn:eol-style=native
          *.cat = svn:eol-style=native
          *.classpath = svn:eol-style=native
          *.cmd = svn:eol-style=native
          *.css = svn:eol-style=native
          *.cwiki = svn:eol-style=native
          *.data = svn:eol-style=native
          *.dcl = svn:eol-style=native
          *.dtd = svn:eol-style=native
          *.egrm = svn:eol-style=native
          *.ent = svn:eol-style=native
          *.grm = svn:eol-style=native
          *.g = svn:eol-style=native
          *.html = svn:eol-style=native
          *.ihtml = svn:eol-style=native
          *.java = svn:eol-style=native
          *.jsp = svn:eol-style=native
          *.js = svn:eol-style=native
          *.junit = svn:eol-style=native
          *.key = svn:eol-style=native
          *.mod = svn:eol-style=native
          *.pdf = svn:eol-style=native
          *.pen = svn:eol-style=native
          *.pl = svn:eol-style=native
          *.project = svn:eol-style=native
          *.properties = svn:eol-style=native
          *.py = svn:eol-style=native
          *.rdf = svn:eol-style=native
          *.rnc = svn:eol-style=native
          *.rng = svn:eol-style=native
          *.rnx = svn:eol-style=native
          *.sh = svn:eol-style=native;svn:executable
          *.svg = svn:eol-style=native
          *.tld = svn:eol-style=native
          *.txt = svn:eol-style=native
          *.types = svn:eol-style=native
          *.xcat = svn:eol-style=native
          *.xconf = svn:eol-style=native
          *.xegrm = svn:eol-style=native
          *.xgrm = svn:eol-style=native
          *.xlex = svn:eol-style=native
          *.xmap = svn:eol-style=native
          *.xml = svn:eol-style=native
          *.xsl = svn:eol-style=native
          *.xslt = svn:eol-style=native
          *.xsp = svn:eol-style=native
          *.xul = svn:eol-style=native


          Show
          David Crossley added a comment - That is a partial workaround, but you still need to take care when preparing to commit, that the line-endings are appropriate for your OS and that the properties are set. Don't know about other clients, but the command-line client tells you on doing the 'svn commit' for newly added files, whether any properties are set. By the way i just wrote a Perl script to scan an SVN repository and find all the text filename extensions. Added 11 and removed a duplicate for .xslt Here is the current list, sorted alphabetically: *.aart = svn:eol-style=native *.ai = svn:eol-style=native *.bat = svn:eol-style=native *.cat = svn:eol-style=native *.classpath = svn:eol-style=native *.cmd = svn:eol-style=native *.css = svn:eol-style=native *.cwiki = svn:eol-style=native *.data = svn:eol-style=native *.dcl = svn:eol-style=native *.dtd = svn:eol-style=native *.egrm = svn:eol-style=native *.ent = svn:eol-style=native *.grm = svn:eol-style=native *.g = svn:eol-style=native *.html = svn:eol-style=native *.ihtml = svn:eol-style=native *.java = svn:eol-style=native *.jsp = svn:eol-style=native *.js = svn:eol-style=native *.junit = svn:eol-style=native *.key = svn:eol-style=native *.mod = svn:eol-style=native *.pdf = svn:eol-style=native *.pen = svn:eol-style=native *.pl = svn:eol-style=native *.project = svn:eol-style=native *.properties = svn:eol-style=native *.py = svn:eol-style=native *.rdf = svn:eol-style=native *.rnc = svn:eol-style=native *.rng = svn:eol-style=native *.rnx = svn:eol-style=native *.sh = svn:eol-style=native;svn:executable *.svg = svn:eol-style=native *.tld = svn:eol-style=native *.txt = svn:eol-style=native *.types = svn:eol-style=native *.xcat = svn:eol-style=native *.xconf = svn:eol-style=native *.xegrm = svn:eol-style=native *.xgrm = svn:eol-style=native *.xlex = svn:eol-style=native *.xmap = svn:eol-style=native *.xml = svn:eol-style=native *.xsl = svn:eol-style=native *.xslt = svn:eol-style=native *.xsp = svn:eol-style=native *.xul = svn:eol-style=native
          Hide
          Thorsten Scherler added a comment -
          For more in formation about svn:eol-style please refer to http://svnbook.red-bean.com/svnbook/ch07s02.html#svn-ch-7-sect-2.3.5.
          Show
          Thorsten Scherler added a comment - For more in formation about svn:eol-style please refer to http://svnbook.red-bean.com/svnbook/ch07s02.html#svn-ch-7-sect-2.3.5 .
          Hide
          Thorsten Scherler added a comment -
          The file list above provided by David can be added to the svn config. To read more about this configuration file please refer to
          http://svnbook.red-bean.com/svnbook/ch07.html#svn-ch-7-sect-1
          Show
          Thorsten Scherler added a comment - The file list above provided by David can be added to the svn config. To read more about this configuration file please refer to http://svnbook.red-bean.com/svnbook/ch07.html#svn-ch-7-sect-1
          Hide
          Dave Brondsema added a comment -
          .pdf is binary and should not use native line-endings, correct?
          Show
          Dave Brondsema added a comment - .pdf is binary and should not use native line-endings, correct?
          Hide
          David Crossley added a comment -
          I too have been confused about this.

          The Perl script that scans the repository to assess text files, uses the
          -T file test operator. This reports PDF as plain text.

          Did some Googling and investigated some PDF parsing utilities. They seem to be dealing with text.

          Perhaps that is why PDF is "portable" - because it is text and hex strings.
          Show
          David Crossley added a comment - I too have been confused about this. The Perl script that scans the repository to assess text files, uses the -T file test operator. This reports PDF as plain text. Did some Googling and investigated some PDF parsing utilities. They seem to be dealing with text. Perhaps that is why PDF is "portable" - because it is text and hex strings.
          Hide
          Dave Brondsema added a comment -
          I just looked at the PDF spec and it says that all whitespace characters (including both cr & lf characters) are treated the same. \r and \n are used within strings to represent line breaks in the PDF's text. So I guess it doesn't matter.
          Show
          Dave Brondsema added a comment - I just looked at the PDF spec and it says that all whitespace characters (including both cr & lf characters) are treated the same. \r and \n are used within strings to represent line breaks in the PDF's text. So I guess it doesn't matter.
          Hide
          David Crossley added a comment -
          Ah, good discovery. However i think that it does matter. If the files have svn:eol-style=native then we will get reduced clutter in diff messages because line-endings are consistent.
          Show
          David Crossley added a comment - Ah, good discovery. However i think that it does matter. If the files have svn:eol-style=native then we will get reduced clutter in diff messages because line-endings are consistent.
          Hide
          David Crossley added a comment -
          Actually it might be better that SVN *did* see the PDFs as binary. Then our commit diff messages would not be cluttered at all.
          Show
          David Crossley added a comment - Actually it might be better that SVN *did* see the PDFs as binary. Then our commit diff messages would not be cluttered at all.
          Hide
          William A. Rowe, Jr. added a comment -

            FYI - .pdf's contain internal offsets - so you can never tweak
            the contents without potentially destroying the file. They are
            binary files (and yes - it's also nice not to have to read ps
            deltas.)
          Show
          William A. Rowe, Jr. added a comment -   FYI - .pdf's contain internal offsets - so you can never tweak   the contents without potentially destroying the file. They are   binary files (and yes - it's also nice not to have to read ps   deltas.)
          Hide
          David Crossley added a comment -
          In the abovementioned list, the PDF should be:
          *.pdf = application/pdf
          Show
          David Crossley added a comment - In the abovementioned list, the PDF should be: *.pdf = application/pdf
          Hide
          Thorsten Scherler added a comment -
          *.fv = svn:eol-style=native
          *.ft = svn:eol-style=native
          *.fn = svn:eol-style=native

          This are the new extention for the views plugin. Please update your config.
          Show
          Thorsten Scherler added a comment - *.fv = svn:eol-style=native *.ft = svn:eol-style=native *.fn = svn:eol-style=native This are the new extention for the views plugin. Please update your config.
          Hide
          David Crossley added a comment -
          Show
          David Crossley added a comment - Please use the list at http://www.apache.org/dev/svn-eol-style.txt
          Hide
          David Crossley added a comment -
          Show
          David Crossley added a comment - This is documented at http://www.apache.org/dev/version-control.html#https-svn

            People

            • Assignee:
              Unassigned
              Reporter:
              David Crossley
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development