svnadmin create repo
for i in `seq 1 9`;do svn import -mm repo/format file://`pwd`/repo/f$i;done
svn co http://server/repo wc
svn lock wc/f{1,2,3,4,6,7,8,9}
svn lock wc/f{1,2,3,4,5,6,7,8,9}
With neon the second lock warns about all the already locked files but continues
to lock f5:
$ svn lock wc/f{1,2,3,4,5,6,7,8,9}
svn: warning: W160035: Path '/f1' is already locked by user 'pm' in filesystem
'/home/pm/sw/subversion/obj/repo/db'
svn: warning: W160035: Path '/f2' is already locked by user 'pm' in filesystem
'/home/pm/sw/subversion/obj/repo/db'
svn: warning: W160035: Path '/f3' is already locked by user 'pm' in filesystem
'/home/pm/sw/subversion/obj/repo/db'
svn: warning: W160035: Path '/f4' is already locked by user 'pm' in filesystem
'/home/pm/sw/subversion/obj/repo/db'
'f5' locked by user 'pm'.
svn: warning: W160035: Path '/f6' is already locked by user 'pm' in filesystem
'/home/pm/sw/subversion/obj/repo/db'
svn: warning: W160035: Path '/f7' is already locked by user 'pm' in filesystem
'/home/pm/sw/subversion/obj/repo/db'
svn: warning: W160035: Path '/f8' is already locked by user 'pm' in filesystem
'/home/pm/sw/subversion/obj/repo/db'
svn: warning: W160035: Path '/f9' is already locked by user 'pm' in filesystem
'/home/pm/sw/subversion/obj/repo/db'
With serf we only get a warning about one file being locked and f5 does not get
locked:
$ svn lock wc/f{1,2,3,4,5,6,7,8,9}
svn: warning: W160035: Path '/f1' is already locked by user 'pm' in filesystem
'/home/pm/sw/subversion/obj/repo/db'
svn: warning: W160035: Error running context
svn: warning: W160035: Error running context
svn: warning: W160035: Error running context
svn: warning: W160035: Error running context
svn: warning: W160035: Error running context
svn: warning: W160035: Error running context
svn: warning: W160035: Error running context
svn: warning: W160035: Error running context
See lock_tests 29. The problem doesn't trigger with old APR, I guess file order
causes the unlocked file to gets locked before the first already locked file is
encountered. With new APR there is more randomness in the order and the test
occasionally fails.