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

[WIP] Fix for issue 2333 (repos-repos diff skips deleted dirs)

From: Stephen Butler <sbutler_at_elego.de>
Date: Tue, 3 Aug 2010 18:39:15 +0200

Hi folks,

here's a work in progress for fixing a long-standing diff bug.

  "'svn diff URL1 URL2' not reverse of 'svn diff URL2 URL1'"
  http://subversion.tigris.org/issues/show_bug.cgi?id=2333

The basic approach was suggested by cmpilato in a comment
to the issue. In repos_diff.c:delete_entry(), I call svn_client_list2(),
handing it a callback that prints diffs for all files in the "old"
tree. It's a bit awkward to call a client API function in repos_diff,
whose edit_baton was never yet sullied by an svn_client_ctx_t.

The ugliest hack (so far) is in diff_deleted_dir_cb(), the callback.
I need to hand get_file_from_ra() a path relative to the RA
session's URL.

TODOs include:

Find out why diff_tests.py 28 still fails.

Investigate other failing diff tests.

Include dir diffs in the list2-callback.

Handle authz failures gracefully.

Anything else?

Comments welcome.

Steve

--
Stephen Butler | Senior Consultant
elego Software Solutions GmbH
Gustav-Meyer-Allee 25 | 13355 Berlin | Germany
fon: +49 30 2345 8696 | mobile: +49 163 25 45 015
fax: +49 30 2345 8695 | http://www.elegosoft.com
Geschäftsführer: Olaf Wagner | Sitz der Gesellschaft: Berlin
Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194
Received on 2010-08-03 18:39:59 CEST

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