[PATCH] incoming copy of locally modified file(under repo_root) is not receiving the local modification
Kamesh Jayachandran <[email protected]> Fri, 04 Dec 2009 21:54:44 +0530
| Newsgroups | gmane.comp.version-control.subversion.devel,gmane.comp.version-control.subversion.rapidsvn.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi All, I observed the following bug when I was working with the file under repo root. $svnadmin create repo $svn co file://`pwd`/repo wc $cd wc $echo "I am test.c" >test.c $svn add test.c $svn ci -m "log" $svn mv test.c test2.c $svn ci -m "refactor" $cd .. $svn co -r1 file://`pwd`/repo wc2 $cd wc2 $echo "modified" >>test.c $svn up The above svn update is not adding the 'modified' change to test2.c. Everything works fine if the files are *not* directly under repo root. Attached patch fixes it. I ran test against ra_local, *no* failure with this patch. Hope this fix is independent of ra layer and hence sending it without testing against each layer. If there are no objections will commit it by tomorrow. With regards Kamesh Jayachandran ------------------------------------------------------ http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2427104 Please start new threads on the <[email protected]> mailing list. To subscribe to the new list, send an empty e-mail to <[email protected]>.
copy_not_receiving_the_local_change.patch
(text/plain, 733 B)
Index: subversion/libsvn_wc/update_editor.c
===================================================================
--- subversion/libsvn_wc/update_editor.c (revision 887212)
+++ subversion/libsvn_wc/update_editor.c (working copy)
@@ -3346,9 +3346,6 @@
ancestor_relpath = svn_relpath_get_longest_ancestor(dir_repos_relpath,
copyfrom_relpath,
scratch_pool);
- if (strlen(ancestor_relpath) == 0)
- return SVN_NO_ERROR;
-
/* Move 'up' the working copy to what ought to be the common ancestor dir. */
levels_up = svn_path_component_count(dir_repos_relpath)
- svn_path_component_count(ancestor_relpath);
copy_not_receiving_the_local_change.log
(text/plain, 216 B)
[[[ incoming copy of locally modified file(under repo_root) is not receiving the local modification. * subversion/libsvn_wc/update_editor.c (locate_copyfrom): No need of early return for files under repo_root. ]]]