On May 19, 2005, at 2:54 PM, Michael L Brown wrote:
>
> >You never want to set svn:keywords on a binary file, only source text
> >files.  You may get replacements to occur that you don't want to that
> >will screw up the file.
>
> Unless I got misdirected somewhere, when a file is considered  
> binary, keywords are supposed to be ignored, i.e., no substitution  
> done.  It certainly works that way in CVS.
>
Subversion is much safer than CVS in this regard.  It will never  
munge your data unless you explicitly ask it to.  CVS is the  
opposite;  it will munge your data by default unless you remember to  
tell it *not* to.
In this case, the only problem here is that Subversion allowed you  
(or one of your users) to shoot yourself in the foot.  You set  
svn:eol-style and svn:keywords properties on a binary file, thereby  
asking svn to alter the file contents.  It did what you asked it to  
do.  Don't Do That.
It's already the case that if svn:mime-type is set to a binary type,  
then 'svn propset' will refuse to set the svn:eol-style or  
svn:keywords properties.  But apparently there are other ways to get  
them to co-exist... I suspect that the svn:mime-type is set *after*  
the text-munging ones, then you can end up with all three properties  
set at once.  So if there's a bug here to report, it's perhaps that  
we aren't doing enough to prevent foot-shooting.  :-)
In general, be very careful about which files you ask Subversion to  
munge.  Don't do something like use the auto-props feature to  
automatically set the text-munging properties on '*'.  That's just  
dangerous.  Be specific instead:  munge only specific file types.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Thu May 19 23:34:26 2005