[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn 1.8.0 problem "both sides of the move must be committed together"

From: Gunnar Dalsnes <hardon_at_online.no>
Date: Tue, 02 Jul 2013 16:48:28 +0200

On 02.07.2013 15:59, Philip Martin wrote:
> Gunnar Dalsnes <hardon_at_online.no> writes:
>
>> When I check with svn status I get this:
>> <lots of other unrelated adds, mods and deletes>
>> A src\Plugins\Registration\IBLPWrasse\Entities
>> A + src\Plugins\Registration\IBLPWrasse\Entities\BLEWrasseContainer.cs
>> D src\VPA Framework\VPAEntities\Wrasse\BLEWrasseContainer.cs
>> > moved to src\Plugins\Registration\BLEntities\Wrasse\BLEWrasseContainer.cs
>>
>> This seems to confirms that I moved the file correctly.
>
> No, that's not correct. There should be a "moved from" line on the
> destination to match the "moved to" line on the source.

Yes, that line is missing from svn status.
>
>> I tried recreating the problem by creating an empty repo, creating same folder structure and moving, then modifying a file, but then it worked without problem (typical).
>
> That would have both moved-to and moved-here.
>
>> Here are the 4 relevant entries (I think) from NODES in wc.db, if that can help:
>> 15751,"1","src/VPA Framework/VPAEntities/Wrasse/BLEWrasseContainer.cs","0","src/VPA Framework/VPAEntities/Wrasse","1","trunk/src/VPA Framework/VPAEntities/Wrasse/BLEWrasseContainer.cs","24486","normal",,,"file",,"infinity","$sha1$544d1e17178a9ee815a60b74995fc72aa4a5e526",,"533","1214814539781408","username","2362","1372322295733206",,,
>> 62069,"1","src/VPA Framework/VPAEntities/Wrasse/BLEWrasseContainer.cs","5","src/VPA Framework/VPAEntities/Wrasse",,,,"base-deleted",,"src/Plugins/Registration/BLEntities/Wrasse/BLEWrasseContainer.cs","file",,,,,,,,,,,,
>> 62075,"1","src/Plugins/Registration/IBLPWrasse/Entities","5","src/Plugins/Registration/IBLPWrasse",,,,"normal",,,"dir",,"infinity",,,,"0",,,,,,
>> 62080,"1","src/Plugins/Registration/IBLPWrasse/Entities/BLEWrasseContainer.cs","6","src/Plugins/Registration/IBLPWrasse/Entities","1","trunk/src/VPA Framework/VPAEntities/Wrasse/BLEWrasseContainer.cs","24410","normal",,,"file",,"infinity","$sha1$544d1e17178a9ee815a60b74995fc72aa4a5e526",,"533","1214814539781408","username","2362","1372331062606714",,,
>
> So NODES.moved_here is null in the row for the move destination. What
> did you do to get that to happen?

Nothing special. I moved the files with TSVN 1.8.0 using Windows
Explorer and TSVN context menus. Then I included the file in the
destination solution. I'm using VisualSVN 3.5.0 btw. But even if TSVN or
VSVN is ill behaving, they must go via svn library so I would expect
they are not be able to corrupt wc.db, even if they wanted.

>
>> This repo was converted from SVN 1.7 format (not a fresh checkout), in case this is relevant. This is on WinXP. SVN server is 1.7.3 (r1242825).
>>
>> Update: I finally managed to commit by only selecting the deleted source file, added destination file and added destination folder (ignoring all other changed):
>>
>> Command: Commit
>> Adding: E:\svn\Copy of fishtalk trunk\src\Plugins\Registration\IBLPWrasse\Entities
>> Adding: E:\svn\Copy of fishtalk trunk\src\Plugins\Registration\IBLPWrasse\Entities\BLEWrasse.cs
>> Deleting: E:\svn\Copy of fishtalk trunk\src\VPA Framework\VPAEntities\Wrasse\BLEWrasse.cs
>> Sending content: E:\svn\Copy of fishtalk trunk\src\Plugins\Registration\IBLPWrasse\Entities\BLEWrasse.cs
>> Completed: At revision: 24489
>>
>> Still, very annoying. This can't be right.
>
> The closest I can get to reproducing is by manually changing wc.db:
>
> svnadmin create repo
> svn -mm import repo/format file://`pwd`/repo/A/f
> svn co file://`pwd`/repo wc
> svn mkdir wc/B
> svn mv wc/A/f wc/B/f
> sqlite3 wc/.svn/wc.db "update nodes set moved_here = null"
>
> but even then the commit works. Which targets were you committing? The
> whole working copy or individual files?

I tried committing whole wc (mix of adds, edits and moves). I eventually
got everything committed by splitting in 6 different commits, mostly by
trial and error, but generally it was mods first, then adds, then deletes.

I will and see if I can reproduce the error, but it may be difficult if
either TSVN or VSVNis involved.

>
Received on 2013-07-02 16:49:25 CEST

This is an archived mail posted to the Subversion Users mailing list.