[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 causing locks to be broken on update

From: Johan Corveleyn <jcorvel_at_gmail.com>
Date: Mon, 12 Aug 2013 10:21:45 +0200

On Mon, Aug 12, 2013 at 5:38 AM, Felipe Alvarez
<felipe.alvarez_at_gmail.com> wrote:
>
> On Mon, Aug 5, 2013 at 9:50 AM, Felipe Alvarez <felipe.alvarez_at_gmail.com>
> wrote:
>>
>> Maybe I'm missing something but what exactly is broken in your
>>>
>>> output? It ends with svn up, but shouldn't be there at least one
>>> additional svn st to show something about the lock?
>>>
>>> > Felipe_at_FELIPES ~/SVN
>>> > $ svn up
>>> > Updating '.':
>>> > B Trunk\SystemAdmin\rsync_transfer.cron.FreshASPNEW
>>> > B Trunk\SystemAdmin\rsync_transfer.cron.FreshBNE
>>> > B Trunk\Lettus\lbin\backup.cron
>>>
>>> svn up doesn't show info about your locked file because it didn't
>>> change or conflict with revisions from the repo.
>>>
>> My apologies. I have tried it again, this time with final 'svn st'
>>
>> ---begin output---
>>
>> Felipe_at_FELIPES ~/SVN/Trunk/Lettus/lbin
>> $ svn st
>>
>> #---------------------------------------------
>> # lock broken from previous update (last week)
>> #---------------------------------------------
>>
>> Felipe_at_FELIPES ~/SVN/Trunk/Lettus/lbin
>> $ svn lock backup.cron
>> svn: warning: W160035: Path '/Trunk/Lettus/lbin/backup.cron' is already
>> locked by user 'felipe' in filesystem '/u3/SVN_Repository/db'
>>
>> Felipe_at_FELIPES ~/SVN/Trunk/Lettus/lbin
>> $ svn lock --force backup.cron
>> 'backup.cron' locked by user 'felipe'.
>>
>> Felipe_at_FELIPES ~/SVN/Trunk/Lettus/lbin
>> $ svn st
>> K backup.cron
>>
>> Felipe_at_FELIPES ~/SVN/Trunk/Lettus/lbin
>> $ cd ..
>>
>> Felipe_at_FELIPES ~/SVN/Trunk/Lettus
>> $ svn up; svn st
>> Updating '.':
>> At revision 59397.
>> K lbin\backup.cron
>>
>> Felipe_at_FELIPES ~/SVN/Trunk/Lettus
>> $ cd ..
>>
>> Felipe_at_FELIPES ~/SVN/Trunk
>> $ svn up; svn st
>> Updating '.':
>> At revision 59397.
>>
>> K Lettus\lbin\backup.cron
>> ? SystemAdmin\rsync.sh
>> M SystemAdmin\rsync_transfer.cron.FreshASPNEW
>>
>> M SystemAdmin\rsync_transfer.cron.FreshBNE
>>
>> Felipe_at_FELIPES ~/SVN/Trunk
>> $ cd ..
>>
>> Felipe_at_FELIPES ~/SVN
>> $ svn st
>> MM Branches\Lettus\UAT\prod\autotest\code_check.sh
>> K Trunk\Lettus\lbin\backup.cron
>> ? Trunk\SystemAdmin\rsync.sh
>> M Trunk\SystemAdmin\rsync_transfer.cron.FreshASPNEW
>> M Trunk\SystemAdmin\rsync_transfer.cron.FreshBNE
>> ? wclbin
>>
>>
>> Felipe_at_FELIPES ~/SVN
>> $ svn up
>> Updating '.':
>> B Trunk\Lettus\lbin\backup.cron
>> At revision 59397.
>>
>> Felipe_at_FELIPES ~/SVN
>> $ svn st
>> MM Branches\Lettus\UAT\prod\autotest\code_check.sh
>> ? Trunk\SystemAdmin\rsync.sh
>> M Trunk\SystemAdmin\rsync_transfer.cron.FreshASPNEW
>> M Trunk\SystemAdmin\rsync_transfer.cron.FreshBNE
>> ? wclbin
>>
>> Felipe_at_FELIPES ~/SVN
>> $
>>
>> ---end output---
>>
>> --
>> Felipe
>>
>
> Has anybody been able to reproduce or confirm this problem?
>

I've tried, but I can't reproduce this problem with a clean repository
(see transcript below).

There must be something special with your repository or working copy.
Maybe your working copy is constructed in a special way, for instance
a sparse working copy, or with switched subtrees or something like
that? Or perhaps your ~/SVN/Trunk is, through the use of symlinks,
part of two different working copies?

I think you'll have to narrow this down to something reproducible, or
give additional details about your repository and working copy, before
anyone will be able to help. I suggest you first examine your current
working copy to see if there is anything special about it (with 'svn
info' etc). And then try to reproduce it in a completely new working
copy (make a new checkout of the same part of the repository, and
trying the same steps). If you can reproduce it that way, that's
already a good step forward. Next thing is to reproduce it from
scratch with a completely new repository (like I tried in the
transcript below).

Here's what I tried (with svn built from trunk_at_1513012):

[[[
C:\Temp\test>svnadmin create repos

C:\Temp\test>svn co file:///c:/temp/test/repos wc
Checked out revision 0.

C:\Temp\test>cd wc

C:\Temp\test\wc>svn mkdir --parents -m"creating dirs"
file:///c:/temp/test/repos/Trunk/Lettus/lbin

Committed revision 1.

C:\Temp\test\wc>svn up
Updating '.':
A Trunk
A Trunk\Lettus
A Trunk\Lettus\lbin
Updated to revision 1.

C:\Temp\test\wc>cd Trunk\Lettus\lbin

C:\Temp\test\wc\Trunk\Lettus\lbin>echo line1 > test.txt

C:\Temp\test\wc\Trunk\Lettus\lbin>svn add test.txt
A test.txt

C:\Temp\test\wc\Trunk\Lettus\lbin>svn ci -m"adding test file"
Adding test.txt
Transmitting file data .
Committed revision 2.

C:\Temp\test\wc\Trunk\Lettus\lbin>svn lock --username jcorvel test.txt
'test.txt' locked by user 'jcorvel'.

C:\Temp\test\wc\Trunk\Lettus\lbin>svn st
     K test.txt

C:\Temp\test\wc\Trunk\Lettus\lbin>cd ..

C:\Temp\test\wc\Trunk\Lettus>svn st
     K lbin\test.txt

C:\Temp\test\wc\Trunk\Lettus>cd ..

C:\Temp\test\wc\Trunk>svn up
Updating '.':
At revision 2.

C:\Temp\test\wc\Trunk>svn st
     K Lettus\lbin\test.txt

C:\Temp\test\wc\Trunk>cd ..

C:\Temp\test\wc>svn st
     K Trunk\Lettus\lbin\test.txt

C:\Temp\test\wc>svn up
Updating '.':
At revision 2.

C:\Temp\test\wc>svn st
     K Trunk\Lettus\lbin\test.txt
]]]

-- 
Johan
Received on 2013-08-12 10:22:40 CEST

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