I am merging two branches together, A into B.  In A, I deleted a file and cherrypicked that onto B.  Later, I want to merge at the toplevel from A into B, and I get a segfault when svn tries to figure out how to resolve the resulting tree conflict (file missing, incoming file deleted).

I have narrowed it down to this line.  At first, the string pointed to by related_repos_relpath is set to null, and related_peg_rev is set to SVN_INVALID_REVNUM.  No matter the exit paths, related_peg_rev will either be a valid rev, or SVN_INVALID_REVNUM.  But, if we can't find a related node in line 2473, we bail, but related_repos_relpath is set to null.  It seems like there are only two ways that the function will exit.  In successful cases, the related_repos_relpath is updated appropriately.  Otherwise I guess that when the search fails, the conflict resolution stops and the original value of related_repos_relpath is unimportant.

I release all rights to this patch, or assign the rights to the project license as appropriate.

--
Joshua Kordani
Senior Engineer
Robotic Research, LLC
jkord...@roboticresearch.com


CONFIDENTIALITY NOTICE: This communication may contain private, confidential 
and privileged material for the sole use of the intended recipient. If you are 
not the intended recipient, please delete this e-mail and any attachments 
permanently.

Index: subversion/libsvn_client/conflicts.c
===================================================================
--- subversion/libsvn_client/conflicts.c	(revision 1875623)
+++ subversion/libsvn_client/conflicts.c	(working copy)
@@ -2422,7 +2422,7 @@
   svn_node_kind_t related_node_kind;
   svn_ra_session_t *ra_session;
 
-  *related_repos_relpath = NULL;
+  /*  *related_repos_relpath = NULL; */
   *related_peg_rev = SVN_INVALID_REVNUM;
 
   SVN_ERR(svn_client_conflict_get_repos_info(&repos_root_url, NULL,

Reply via email to