[PATCH] Replace svn_path_join() in libsvn_client/repos_diff.c

View: New views
3 Messages — Rating Filter:   Alert me  

[PATCH] Replace svn_path_join() in libsvn_client/repos_diff.c

by Daniel Näslund :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

[[[
Replace svn_path_join() since there is conflicting definitions on what a
path really is.

* subversion/libsvn_client/repos_diff.c
  (make_dir_baton,
   make_file_baton,
   delete_entry): Replace svn_path_join() with svn_dirent_join(). An
    eb->target is base in each call. It is a wc dir.

Patch by: Daniel Näslund <daniel@...>
]]]
   
The diff editor in repos_diff.c is used for comparing two repository
versions but all paths for this patch is wc paths.

/Daniel

[repos_diff_path_join.diff]

Index: subversion/libsvn_client/repos_diff.c
===================================================================
--- subversion/libsvn_client/repos_diff.c (revision 40405)
+++ subversion/libsvn_client/repos_diff.c (arbetskopia)
@@ -211,7 +211,7 @@
   dir_baton->skip = FALSE;
   dir_baton->pool = pool;
   dir_baton->path = apr_pstrdup(pool, path);
-  dir_baton->wcpath = svn_path_join(edit_baton->target, path, pool);
+  dir_baton->wcpath = svn_dirent_join(edit_baton->target, path, pool);
   dir_baton->propchanges  = apr_array_make(pool, 1, sizeof(svn_prop_t));
 
   return dir_baton;
@@ -237,7 +237,7 @@
   file_baton->skip = FALSE;
   file_baton->pool = pool;
   file_baton->path = apr_pstrdup(pool, path);
-  file_baton->wcpath = svn_path_join(eb->target, path, pool);
+  file_baton->wcpath = svn_dirent_join(eb->target, path, pool);
   file_baton->propchanges  = apr_array_make(pool, 1, sizeof(svn_prop_t));
 
   return file_baton;
@@ -483,7 +483,7 @@
           {
             SVN_ERR(eb->diff_callbacks->dir_deleted
                     (local_dir_abspath, &state, &tree_conflicted,
-                     svn_path_join(eb->target, path, pool),
+                     svn_dirent_join(eb->target, path, pool),
                      eb->diff_cmd_baton, pool));
             break;
           }
@@ -499,7 +499,7 @@
           if (eb->dry_run)
             {
               /* Remember what we _would've_ deleted (issue #2584). */
-              const char *wcpath = svn_path_join(eb->target, path, pb->pool);
+              const char *wcpath = svn_dirent_join(eb->target, path, pb->pool);
               apr_hash_set(svn_client__dry_run_deletions(eb->diff_cmd_baton),
                            wcpath, APR_HASH_KEY_STRING, wcpath);
 
@@ -514,7 +514,7 @@
     {
       const char* deleted_path;
       deleted_path_notify_t *dpn = apr_palloc(eb->pool, sizeof(*dpn));
-      deleted_path = svn_path_join(eb->target, path, eb->pool);
+      deleted_path = svn_dirent_join(eb->target, path, eb->pool);
       dpn->kind = kind;
       dpn->action = tree_conflicted ? svn_wc_notify_tree_conflict : action;
       dpn->state = state;


Re: [PATCH] Replace svn_path_join() in libsvn_client/repos_diff.c

by Daniel Näslund :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Fri, Nov 06, 2009 at 10:18:52PM +0100, Daniel Näslund wrote:

> [[[
> Replace svn_path_join() since there is conflicting definitions on what a
> path really is.
>
> * subversion/libsvn_client/repos_diff.c
>   (make_dir_baton,
>    make_file_baton,
>    delete_entry): Replace svn_path_join() with svn_dirent_join(). An
>     eb->target is base in each call. It is a wc dir.
>
> Patch by: Daniel Näslund <daniel@...>
> ]]]

[...]

Make check passed.

/Daniel

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2415259

Re: [PATCH] Replace svn_path_join() in libsvn_client/repos_diff.c

by Daniel Rall :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

r40415, thanks.

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2415265