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

1.2 rc-1. "svn up" <locked file edited by another user> -- reports errors and does not delete tmp files

From: Moisei <moisei_at_gmail.com>
Date: 2005-04-18 14:22:15 CEST

Hello dear all,
I just installed the 1.2 and run fast test for the locks.
Most of the scenarios are worked well for me lock/edit/unlock, etc.
(THANKS to dev. really perfect job)
So, i went and tried the real case when two users would work on the same file
one of them is locked and edited it and another one is going to update her repo,
indid I used the svn:needs-lock property.
This scenario did not work well - even the file has been updated,
it took a lot of time and svn reported errors while update
and after update tmp files are still present in my working copy dir.
I created the batch file that reproduces the issue.
I am not sure whether attachments are allowed in this list, so
I both attach it and add as a raw text in the end of the file

my exactly environment:
Dual Xeon 2.8 Hz, 2 Gb RAM,
windows 2000 server SP 4

svn precompiled binaries from
http://subversion.tigris.org/files/documents/15/22097/svn-win32-1.2.0-rc1.zip
D:\Temp\TestSvnWC\trunk>svn version
svn, version 1.2.0 (Release Candidate 1)
   compiled Apr 17 2005, 02:25:07

here is the sample output that I got from the script
...
svn: In directory 'C:\temp\reproduce\wc1'
svn: Can't move 'C:\temp\reproduce\wc1\foo.txt.tmp' to
'C:\temp\reproduce\wc1\foo.txt': Access is denied.
U C:\temp\reproduce\wc1\foo.txt
after update c:/temp/reproduce\wc1 contains
foo.txt
foo.txt.2.tmp
foo.txt.tmp

-- 
Best Regards,
Moisei
the batch file to reproduce (edit the test dir location, otherwise
c:\temp\reproduce is used)
-------------------------------------------------------------------------------------------------------------
@echo off
REM CHANGE TO THE TEMP FOLDER WHERE TEST WILL BE RUN
REM NOTE the slashes must be a "UNIX" slashes
set tstDir=c:/temp/reproduce
REM NO NEED TO CHANGE ANYTHING BELOW
rem prepare test
rmdir /S /Q "%tstDir%"
mkdir "%tstDir%" > nul
rem prepare repo
mkdir "%tstDir%\repo"  > nul
svnadmin create "%tstDir%\repo\tst"
rem prepare wc and add 1 file
set wc=%tstDir%\wc
mkdir "%wc%"  > nul
svn checkout "file:///%tstDir%/repo/tst" "%wc%"
set foo=%wc%/foo.txt
echo blabla > "%foo%"
svn add "%foo%"  > nul
svn propset svn:needs-lock true "%foo%"
svn commit "%foo%" -m "commit file"
set wc1=%wc%1
mkdir "%wc1%"
svn checkout "file:///%tstDir%/repo/tst" "%wc1%"
svn lock "%foo%" -m "take a lock"
echo klakla >> "%foo%"
svn commit "%foo%" -m "edited after lock"
rem now the bug:
set foo1=%wc1%/foo.txt
echo ****************************************
echo PREPARATION IS DONE. NOW THE ISSUE DEMONSTRATION
echo the %foo1% should be updated in the %wc1% because it has been
edited in the %wc%
echo after update the file *IS* updated 
echo BUT errors are reported and temporary files are present int he working copy
echo before update %wc1% contains
dir /B "%wc1%"
svn update "%wc1%"
echo after update %wc1% contains
dir /B "%wc1%"


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Received on Mon Apr 18 15:22:25 2005

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