You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ju...@apache.org on 2011/08/31 19:10:27 UTC
svn commit: r1163704 -
/subversion/trunk/subversion/libsvn_client/repos_diff.c
Author: julianfoad
Date: Wed Aug 31 17:10:27 2011
New Revision: 1163704
URL: http://svn.apache.org/viewvc?rev=1163704&view=rev
Log:
* subversion/libsvn_client/repos_diff.c
(absent_dir, absent_file): Restore a work-around for an RA-serf inconsistency
that I lost in r1163296.
Modified:
subversion/trunk/subversion/libsvn_client/repos_diff.c
Modified: subversion/trunk/subversion/libsvn_client/repos_diff.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/repos_diff.c?rev=1163704&r1=1163703&r2=1163704&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/repos_diff.c (original)
+++ subversion/trunk/subversion/libsvn_client/repos_diff.c Wed Aug 31 17:10:27 2011
@@ -48,6 +48,7 @@
#include "client.h"
#include "private/svn_wc_private.h"
+#include "../libsvn_delta/debug_editor.h"
/* Overall crawler editor baton. */
struct edit_baton {
@@ -1285,12 +1286,19 @@ absent_directory(const char *path,
struct dir_baton *pb = parent_baton;
struct edit_baton *eb = pb->edit_baton;
+ SVN_DBG(("pb->path='%s'; path='%s'\n", pb->path, path));
/* ### TODO: Raise a tree-conflict?? I sure hope not.*/
if (eb->notify_func)
{
+ /* ### This 'join ... basename' works around an inconsistency whereby
+ * RA-serf gives PATH as just the basename instead of the full path. */
svn_wc_notify_t *notify
- = svn_wc_create_notify(path, svn_wc_notify_skip, pool);
+ = svn_wc_create_notify(svn_dirent_join(pb->path,
+ svn_relpath_basename(path,
+ NULL),
+ pool),
+ svn_wc_notify_skip, pool);
notify->kind = svn_node_dir;
notify->content_state = notify->prop_state
@@ -1312,12 +1320,19 @@ absent_file(const char *path,
struct dir_baton *pb = parent_baton;
struct edit_baton *eb = pb->edit_baton;
+ SVN_DBG(("pb->path='%s'; path='%s'\n", pb->path, path));
/* ### TODO: Raise a tree-conflict?? I sure hope not.*/
if (eb->notify_func)
{
+ /* ### This 'join ... basename' works around an inconsistency whereby
+ * RA-serf gives PATH as just the basename instead of the full path. */
svn_wc_notify_t *notify
- = svn_wc_create_notify(path, svn_wc_notify_skip, pool);
+ = svn_wc_create_notify(svn_dirent_join(pb->path,
+ svn_relpath_basename(path,
+ NULL),
+ pool),
+ svn_wc_notify_skip, pool);
notify->kind = svn_node_file;
notify->content_state = notify->prop_state
@@ -1382,11 +1397,7 @@ svn_client__get_diff_editor(const svn_de
tree_editor->absent_directory = absent_directory;
tree_editor->absent_file = absent_file;
- return svn_delta_get_cancellation_editor(cancel_func,
- cancel_baton,
- tree_editor,
- eb,
- editor,
- edit_baton,
- eb->pool);
+ return svn_delta__get_debug_editor(editor, edit_baton,
+ tree_editor, eb,
+ eb->pool);
}