On Jan 25, 2007, at 20:54, Kevin Ballard wrote:
At this very moment I am committing a bunch of changes to properties. Unfortunately it's going to come across as... wow, 39 commits (assuming there are changes in every category, which there probably are). That's because I'm committing once per category because of issues I had trying to commit the entire thing at once.
In any case, here's the change log:
Massive update to svn properties on files: All patchfiles have svn:eol-style removed. All files that are not in fact able to be executed have svn:executable removed All binary files have svn:eol-style removed (and are probably corrupt) All binary files have svn:mime-type set to application/octet-stream All files which are not patchfiles or binary files have svn:eol- style set to native All Portfiles have svn:eol-style set to native and svn:executable removed
In the future, please try and use the right properties. svn:eol- style native belongs on files which are line-ending-agnostic, like text files, shell scripts, tcl scripts, and other source files. Patchfiles must *NOT* have svn:eol-style set, as line endings are important in them. Additionally, be careful about svn:executable - there were some patch files with that set. Only set it if your file really needs to be executable. There are still a bunch of svn:executable shell scripts, but not all of them need it (most of them, for example, are passed as an argument to bash). I didn't bother removing it from scripts, but I did remove it from the patchfiles.
Oh, and when adding patches, please don't create a folder structure like you can find in lang/gwydion-dylan/files. If you need to specify path, do something like patch-dir_dir2_dir3_filename. All patchfiles should be at the top level of the files/ folder.
Oh, and this is a biggie. There are a handful of binary files in there that had svn:eol-style set. They are probably corrupt. I looked at 2 of them (both pngs) and those 2 definitely were corrupt, but I haven't checked any of the others. I don't know if there's any possibility of recovering these files, it depends on if the svn history has a copy of them before svn:eol-style was applied. When adding a binary file to the repository, make sure it does *NOT* have svn:eol-style set, and please do set svn:mime-type to application/octet-stream (or you can use a more specific mime type if you know it).
Speaking of mime types, when adding non-binary files I would recommend against setting the mime type. If you must, go with text/ plain. Setting something like e.g. application/x-tcl on a Portfile will probably prevent svn from display linewise diffs (svn is documented as treating all non-text/* mime types as binary, with known exceptions, but it doesn't list what the exceptions are).
If these are the rules (and I think I agree that they should be), then the repository needs a pre-commit hook that will reject any commits that do not obey these rules. Would you like me to write one?