Gavin wrote:
> > Author: gmcdonald
> > Date: Thu Jan 15 04:04:35 2009
> > New Revision: 734679
> > 
> > URL: http://svn.apache.org/viewvc?rev=734679&view=rev
> > Log:
> > Whitespace changes only. Used xmlformat
> 
> So, after 3+ years of seeing Davids whitespace commits mention xmlformat, I
> decided to download and try it.

That was probably only from a once-off job.
But sure, there is heaps of past discussion about it.

> I used it in Cygwin shell, though I guess if perl is in the windows path ok
> it should work on DOS prompt too.
> 
> I configured a new config file just over-riding the indent to 2 space. I
> left everything else at defaults.
> 
> Running it on this one file for testing I was initially disspointed.
> 
> $ xmlformat.pl --config-file=/path/to/forrest.conf -I -b .bak
> locationmap.xml
> 
> It correctly removed whitespace and indented as intended on the affected
> lines. However, being on windows there is usually a snag, all of the lines
> that were not involved in the whitespace cleanup ended up with the infamous
> ^M windows line endings on them, that's not good.
> 
> So, a quick reminder of what perl can do for me solved it nicely.
> 
> after running the above, immediately follow it up with :-
> 
> $ perl -p -i -e 's/\r//g' locationmap.xml
> 
> That gets rid of all windows line endings. A quick 'svn diff' shows now that
> only the whitespace affected lines have changed, now I can commit.
> 
> Obviously this comes into its own when performed on multiple files so in
> both commands above 'locationmap.xml can be replaced with *.xml or whatever
> your cleaning up.
> 
> HTH
> 
> David, if you have time, I'm sure you've tweaked your xmlformat file nicely
> for use within forrest, is there more I need to do to my config file other
> than alter the indenting? (so I don't come unstuck in larger more
> complicated files)

Please search, there is documentation and Jira issues about this.

After massive effort, i got something working nicely using xmlformat
and committed our configuration file for it. See below.

There is also discussion about a batch job which is run just
before a release. That is probably noted in the "How to Release"
instructions.
No, just checked, there is only a brief mention about line-endings.
We need to look at what i did just before the 0.8 release. I tried
to talk on dev@ about what i was doing during the release process,
so as to document it for next time.

Doing a batch job at any other time is dangerous. See mail
discussions, but we need to be careful to co-ordinate
with all developers beforehand, otherwise potential for many
svn conflicts for them. That is why it is only done just
before release - people should have then contributed any
outstanding changes.

There is also an Ant task to do xmlformat on a single file.

It all uses our our config file and stuff at $FORREST_HOME/etc/

I only developed it for UNIX-like systems, so you might have
other issues on Windows. I would be wary about using Windows
for such tasks, but maybe that is just me.

There is also documentation somewhere about the general tasks
of keeping "line endings" and "svn properties" consistent.
I will try to find time to do those jobs one more time and
commit my changes to the "exclude" configuration files.
They should be done before using xmlformat.

-David