Re: Trunk to branch merge error on renamed component
From: Murli Varadachari <mvaradachari_at_facebook.com>
Date: Sun, 8 Mar 2009 19:58:47 -0700
I removed the double-delete patch [ http://svn.haxx.se/dev/archive-2008-02/0883.shtml ] and recompiled subversion 1.5.6 without this patch.
Environment:
Svn 1.5.6, Linux FC4, Repository on shared storage.
The sequence of operation was as follows:
1: Created a new branch
svn cp -m "making branch from prod/trunk 140481" svn+ssh://prod /trunk_at_140481 svn+ssh://prod/branches/yp/www
2: Merged the newer revisions from trunk to WC-branch
svn merge -r140481:148570 svn+ssh://prod/trunk/www .
This merge include the following history
(a) intern/alerts was renamed to intern/ods/alarms
(b) a new directory / file created again intern/alerts/handlers/alerts.php
Svn status at this point in my branch-WC ~/www :
=======================>>
R + intern/alerts
A + intern/ods/alarms
==>>
3: Committed these changes:
..... Commit completed
These messages are spurious. I did a fresh checkout of the branch and the committed files were GOOD.
4: Now I repeat the same sequence of operations with the "double delete" PATCH built into subversion [ svnserve ]. The commit fails with
svn: File not found: revision 148570, path '/branches/yp/www/intern/ods/alarms'
I understand that 1.6.0 has the double delete issue fixed. In which I would expect the commit to fail unless the fix is different from the patch I received.
Appreciate if some developers can take a look at this issue and let me know what to do next
Cheers
On 3/8/09 12:22 PM, "Internal Use" <mvaradachari_at_facebook.com> wrote:
Unfortunately It is not possible to reproduce this problem in an isolated test environment - I am sure the merge issues were resolved in 1.5.6 [ confirmed ] and the commits went through in your unit / regression tests. That is not in dispute.
However the problem does come up in our existing repository [ 100GB ] which has a considerable history and not reproducible in any meaningful way via the test script you have provided - as of today another 3 /4 developers have hit the same problem [ specially those who had created these branches prior to the renaming of the component ].
I did run a couple of more tests --
-- created a completely new branch from trunk based on the original branch point @145142
-- merged and committed all changes from trunk to the point just prior to the renaming of the components. This was OK.
-- next I just picked up a single revision from trunk [ where the component was renamed ] and merged it to the updated branch. The commit failed once again.
This does seem to be a server side problem. The only change w.r.t to my server setup [ 1.5.6 ] was the addition the double deletion patch to prevent empty revisions.
http://svn.haxx.se/dev/archive-2008-02/0883.shtml
>>Subversion should cancel a commit that includes the deletion of a file
However in this case the dir in question has not been deleted earlier. Any ways I am going to recompile svnserve without this patch and see if that helps.
It would be useful if I can get a patch that allows svnserve to spit out more diagnostics for this specific type of error. I could recompile svnserver, generate the error and send you the output.
Cheers
On 3/6/09 11:50 AM, "Stefan Sperling" <stsp_at_elego.de> wrote:
On Fri, Mar 06, 2009 at 09:01:20AM -0800, Murli Varadachari wrote:
So it looks like the problem is caused by a directory
I can reproduce the problem using the script below, with
But in all cases svn does not stop me from committing
Is this what you are seeing, too? If not, you have a different
Thanks,
1.5.6 allows me to commit after updating:
--- Merging r2 through r5 into '.':
Committed revision 6.
1.6.x and trunk detect a tree conflict and I can commit
--- Merging r2 through r5 into '.':
Committed revision 6.
renamebug.sh:
set -e
cwd=`pwd`
set -x
rm -rf $scratch_area
mkdir -p $trunk
svnadmin create $cwd/$repos
svn mv $trunk/gamma $trunk/epsilon/
echo "alpha, modified" > $branch/alpha
(cd $branch && svn merge $trunk_url)
# this causes an out-of-date error
------------------------------------------------------
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_subversion.tigris.org].
|
This is an archived mail posted to the Subversion Users mailing list.
This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.