-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Julian Foad wrote:
[..]
> I think that means there are two more places where this mistake is made:
> in 'log.c' and in 'mergeinfo.c'. Would you be willing to fix those, too?

 Fix requires only in log.c Attaching the patch herewith.

[[[
Log:
Fix some more instances of calling svn_dirent_get_absolute() on a URL,
following up on [1].

* subversion/libsvn_client/log.c
 (svn_client_log5): Check the type of the path and invoke
  `svn_dirent_get_absolute()' only if it is a WC path. Rename the
  variable `local_abspath' to `local_abspath_or_url' as it holds either
  a WC abs-path or a URL.

Patch by: Kannan R <kann...@collab.net>

[1]-http://svn.apache.org/viewvc?rev=887187&view=rev
]]]

- --
Thanks & Regards,
Kannan
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEVAwUBSxlRTXlTqcY7ytmIAQLUBwf+KsNWnrWfDo4bo/9kotd67kP3pmPe4wz6
IV3AP2ICd69XyR/Bw6xS5PmLwZUaajJewkHM81UDyCWxqaACTifXC6StKVeHM5Gb
QZmgvIm0cuHODKheTYI/7max3LMr6QD2QdL+tsxjYXntvF+vGcNaPaCGfbLZH/CS
vlbxBCmrbOIP4kpRz21q2dt3VNEl33TmbbNFJXIPUuk3Dx0wHo/qgSefKdXhpeZT
TQiDlXv7lblXf4Bt/EECPXQkrgKBxyeya1Tbj1vHYj89JAMGXL7jWSSwtoaYFkLv
DsEU49gN4QERfSnPdspnUazlEpWG2ArGcyRchn5t+VELPLxNzU8Mmg==
=qIH2
-----END PGP SIGNATURE-----
Index: log.c
===================================================================
--- log.c	(revision 887205)
+++ log.c	(working copy)
@@ -563,7 +563,7 @@
     {
       svn_revnum_t start_revnum, end_revnum, youngest_rev = SVN_INVALID_REVNUM;
       const char *path = APR_ARRAY_IDX(targets, 0, const char *);
-      const char *local_abspath;
+      const char *local_abspath_or_url;
       svn_opt_revision_range_t *range;
       limit_receiver_baton_t lb;
       svn_log_entry_receiver_t passed_receiver;
@@ -571,15 +571,20 @@
       const apr_array_header_t *passed_receiver_revprops;
 
       svn_pool_clear(iterpool);
-      SVN_ERR(svn_dirent_get_absolute(&local_abspath, path, iterpool));
+
+      if (!svn_path_is_url(path))
+        SVN_ERR(svn_dirent_get_absolute(&local_abspath_or_url, path, iterpool));
+      else
+        local_abspath_or_url = path;
+
       range = APR_ARRAY_IDX(revision_ranges, i, svn_opt_revision_range_t *);
 
       SVN_ERR(svn_client__get_revision_number(&start_revnum, &youngest_rev,
-                                              ctx->wc_ctx, local_abspath,
+                                              ctx->wc_ctx, local_abspath_or_url,
                                               ra_session, &range->start,
                                               iterpool));
       SVN_ERR(svn_client__get_revision_number(&end_revnum, &youngest_rev,
-                                              ctx->wc_ctx, local_abspath,
+                                              ctx->wc_ctx, local_abspath_or_url,
                                               ra_session, &range->end,
                                               iterpool));
 

Reply via email to