[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn blame miscategorizing a file as binary

From: Simon Large <slarge_at_blazepoint.co.uk>
Date: 2004-10-11 22:29:28 CEST

"Archie Cobbs" wrote
> In your example, if the revision being viewed is the Word file, it
> should have a binary MIME type. If it's a Latex file, it should have
> a non-binary MIME type.
>
> In the former case, it should be "skipped", in the latter not.
>
> Simon Large wrote:
> > No, Greg's (and Martin's) is a valid argument. Sometimes, like in
> > Delphi, the supplier changes the file format from binary to text, or
> > vice versa, so there is a genuine possibility that blame is only
valid
> > for some of the file's revision history. There is already an option
to
> > start from revN, but there does need to be an option to skip/include
> > revs marked as binary. What the default should be is open to (yet
more)
> > debate.
>
> I still feel like I'm not getting through here :-) Try this example.

We're getting two separate cases mixed up here. Your example above has a
Word file with binary type set, and a LaTex file with text type set. You
correctly state that the LaTex file should be blameable and the Word
file not. And that would also apply if the same file had changed from
Word to LaTex at some stage, along with its mime type. The easy solution
there is just to ignore all revisions whose mime-type is binary.

However, the original context was 'what happens if the mime type has
been set incorrectly', which is a different but fairly common case.
Maybe I have a text file which has been a text file all its life, but
the mime-type was only set to text yesterday. In that case I want to
ignore the mime-type and use every revision for blame regardless.

We have agreed that:
a) the current 'give up if any rev is binary' is inadequate.
b) sometimes we want the blame for text revs only.
c) sometimes we want the blame to ignore mime-type altogether.

In most cases, ignoring the mime-type will *probably* do no harm (though
maybe someone can come up with an edge case), and even then the only
terrible thing likely to go wrong is that the blame assignment is
misleading.

BUT, ignoring the mime-type will in some cases increase processing time,
which is already a big overhead in blames. This will be noticeable in
files which have been binary for a long time, and recently been
converted to text. So there *should* be a way to skip binary revs.

Since blame does not currently work at all with mixed text/binary
history, there is no compatibility issue, so the default state of the
'ignore-binary' flag is still up for grabs.

Hope this clarifies it without misrepresenting anyone.

Simon

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Oct 11 22:46:28 2004

This is an archived mail posted to the Subversion Dev mailing list.