You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Daniel Berlin <db...@dberlin.org> on 2005/02/26 20:27:02 UTC

[work-in-progress]: reverse blame patch

This patch includes a fully functional reverse blame.

The following problems prevent me from committing it, among other things
(lack of full testing yet):

1. It relies on diff -n (still trying to get output_diff_modified to do
exactly what i want) and some code i found for processing rcs changes,
which is not acceptable for us.

2. All versions not blamed get marked with the last revision you asked
about.

3. It needs a bit more factoring in the dav client change and
commenting, and blame-new should really be called blame-reverse.c :P
blame-reverse needs more cleanup, too.



It does include the following things:

1. Complete backwards compatibility with 1.1.x and 1.0.x servers
2. A completely streamy svn_repos_get_file_revs_reverse
3. Modification to mod_dav_svn, svnserve, and the client libraries to
call 
4. A functional blame command that works in reverse.
5. The reverse blame command will check every 100 revisions or so to see
if it finished blaming all the lines for the revision you asked it to
blame, and will stop early if it did.

This helps enormously for things like changelogs that are rotated or
files that have been completely rewritten.

Pleaes feel free to try it out against 1.1.x and 1.0.x servers. I've
tried it against 1.2 svnserve and 1.1 svnserve, and 1.1 mod_dav.

I hvane't had time to set up the 1.2 mod_dav code and see if it works.

You can tell whether the new blame code is being used or not because the
new blame code currently has a bit of debugging code that will print
"Handling revision <revnum>" when it receives each revision from the
server.

(If you add the same code to the blame.c code in file_rev_handler, you
can actually see how unstreamy the old way when you have large numbers
of revisions)

I thought i'd throw it here for others to try.

--Dan


Re: [work-in-progress]: reverse blame patch

Posted by "Peter N. Lundblad" <pe...@famlundblad.se>.
On Sat, 26 Feb 2005, Daniel Berlin wrote:

> This patch includes a fully functional reverse blame.
>
> The following problems prevent me from committing it, among other things
> (lack of full testing yet):
>
I think I know how to improve this to resolve the problems you describe,
but I really don't have time for this now. Note that issue #2138 is about
blame performance. You might want to link to this patch from there.

Regards,
//Peter

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org