On 02.07.2013 15:59, Philip Martin wrote:
Gunnar Dalsnes <har...@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.