On Wed, 16 May 2007, Kamesh Jayachandran wrote:
...
> Address FIXME marker for handling moved paths in copyfrom_info_receiver.
>
> * subversion/libsvn_client/log.c
> (copyfrom_info_receiver):
> For rename trace further in the log.
> (svn_client__get_copy_source):
> Call svn_client_log3 with strict-node-history=FALSE, to trace
> beyond the renames.
...
Kamesh, I had something in mind more along the lines of the patch
below. Your patch seems to have a different intent. I am sure that
we should be using strict node history; lenient history could turn up
nodes that aren't true copies.
What do you think about the ### comment in this patch?
Index: subversion/libsvn_client/log.c
===================================================================
--- subversion/libsvn_client/log.c (revision 25137)
+++ subversion/libsvn_client/log.c (working copy)
@@ -125,11 +125,13 @@
changed_path = val;
/* Consider only the path we're interested in. */
- /* ### FIXME: Look for moved parents of target_path. */
if (changed_path->copyfrom_path &&
SVN_IS_VALID_REVNUM(changed_path->copyfrom_rev) &&
- strcmp(path, copyfrom_info->target_path) == 0)
+ svn_path_is_ancestor(path, copyfrom_info->target_path))
{
+ /* ### When we have a parent of copyfrom_info->target_path,
+ ### should we also be looking for exact
+ ### changed_path->copyfrom_path matches (as more relevant)? */
copyfrom_info->path = apr_pstrdup(copyfrom_info->pool,
changed_path->copyfrom_path);
copyfrom_info->rev = changed_path->copyfrom_rev;
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri May 25 03:08:36 2007