The root Rakefile has a task :fix_cr_lf which I ran a while ago to fix newlines in .rb files. Perhaps it can be improved to scan over more files, and replace \t with ' ' too?
I'll see what I can do. Thoughts? On 7/29/07, Wincent Colaiuta <[EMAIL PROTECTED]> wrote: > El 27/7/2007, a las 23:38, David Chelimsky escribió: > > > On 7/26/07, Wincent Colaiuta <[EMAIL PROTECTED]> wrote: > >> Recently as a result of using Git I've noticed a number of > >> inconsistencies in the RSpec codebase with respect to whitespace > >> (mixed line endings, mixed use of spaces and tabs for indentation, > >> and trailing whitespace at the end of lines). I never would have > >> noticed, but Git produces nice colorized diff output which highlights > >> these kinds of inconsistencies. > >> > >> I wanted to ask if the core RSpec team had established any > >> conventions/standards for these things. The basic rationale is that > >> if all contributors agree to a small number of conventions for > >> whitespace there are less likely to be changesets with non- > >> substantive whitespace differences (really, false alarms). > > > > Your thinking makes sense, but we haven't set a standard for this. Do > > you know how to configure TextMate (which most of us use) to take care > > of this automagically when saving files? > > I don't know of any *fully* automatic way to do this in TextMate but > there are some things you can do to make it nearly automatic. In my > experience I've observed a few things: > > * The initial "clean up" of a code base is the biggest task (although > for a project the size of RSpec we are still only talking a few > minutes' work); after that merely maintaining the standards is > relatively easy (especially in the case of Git where if you do a "git > diff" to see what you are about to commit any problems with the > whitespace are immediately evident) > > * Project-wide Find and Replace does a pretty good job of handling > most scenarios; for further "automation" you could record a TextMate > macro and assign it to a key combo (for example, to handle trailing > whitespace do a regular expression search for " +$" and replace all > instances with nothing) > > * The way the Git community tends to work is to enforce this using > repository hooks, and I imagine this could be done in Subversion too: > the idea is that you have a pre-commit hook that can check the > proposed commit against the standards and reject it if it fails (Git > also has a "--no-verify" switch that you can pass if you want to skip > the pre-commit hook) > > * The burden for enforcing the standards need not fall on the > maintainers themselves; in the projects I've seen it is normal for a > maintainer to say things like, "the patch looks good but can you fix > up the whitespace and resubmit?" etc Of course, this is extremely > easy and natural when using Git because the diff tools really put any > discrepancies "in your face". > > In any case, I think you don't need to go "all the way" with this; a > useful first step would be merely deciding upon some standards and > publishing them. Even if you don't take any further steps > (enforcement, hooks, automation etc) the mere act of publishing the > standards and asking people to follow them would be useful. > > Cheers, > Wincent > > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users > _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users