SVN“已锁定错误”

55
尝试提交更改到一个仓库时(我是唯一的用户),出现错误。
Path
'/trunk/TemplatesLibrary/constraints/templates/TP145210GB01_PersonWithOrganizationUniversal.cs'
is already locked by user 'admin' in filesystem
'/guest/gam/subversion/cdaapi/db'

我是用户“admin”。

我尝试了以下操作,但都没有成功:

  • running a "clean up" from Tortoise SVN
  • checking out a new copy
  • using the "repo browser" to break locks, but no locks are shown ( as per SVN file locked by me, now cannot commit it )

    I am completely stuck now as I have a repository now that I can not commit any updates to.

    Any ideas how I fix this

    More Info, as requested :

    SVN Status command yields ( I have made edits to one file )

            92       77 admin        TP146228GB01_EncompassingEncounter.cs
            92       83 admin        TP145212GB02_WorkgroupUniversal.cs
            92       83 admin        TP146248GB01_ReferenceURL.cs
            92       85 admin        TP145201GB01_PatientUniversal.cs
            92       83 admin        TP145204GB02_RecipientWorkgroupUniversal.cs
            92       83 admin        TP145202GB01_RecipientPersonUniversal.cs
            92       83 admin        TP145203GB02_RecipientOrganizationUniversal.cs
            92       77 admin        TP145205GB01_PersonUniversal.cs
            92       83 admin        TP145202GB02_RecipientPersonUniversal.cs
            92       83 admin        TP145203GB03_RecipientOrganizationUniversal.cs
            92       85 admin        TP145211GB01_HealthCareFacilityUniversal.cs
            92       85 admin        TP145200GB01_AuthorPersonUniversal.cs
            92       83 admin        TP145207GB01_AuthorDeviceUniversal.cs
        M   92       87 admin        TP146226GB02_Consent.cs
            92       85 admin        TP146229GB01_TextSection.cs
            92       83 admin        TP145204GB03_RecipientWorkgroupUniversal.cs
            92       86 admin        TP145018UK03_CustodianOrganizationUniversal.cs
            92       83 admin        TP145208GB01_AuthorNonNamedPersonUniversal.cs
            92       70 admin        TP145214GB01_DocumentParticipantUniversal.cs
            92       85 admin        TP145007UK03_RelatedEntity.cs
            92       80 admin        TP146224GB02_Atachment.cs
            92       83 admin        TP146227GB02_ServiceEvent.cs
            92       77 admin        TP145210GB01_PersonWithOrganizationUniversal.cs
    
提交svn后会产生以下结果:
svn commit --message updates
Sending        TP146226GB02_Consent.cs
Transmitting file data .svn: E195022: Commit failed (details follow):
svn: E195022: File    'D:\BENBUN_CODE\WORK\cdaapi\trunk\TemplatesLibrary\constraints\templates\TP146226GB02_Consent.cs' is locked in another working copy
svn: E170007: No lock on path '/subversion/cdaapi/!svn/wrk/3c75d861-8462-b94e-8729-df54843044f9/trunk/TemplatesLibrary/constraints/templates/TP146226GB02_Consent.cs' (Status 423 on PUT Request)
svn: E175002: Server sent unexpected return value (423 Locked) in response to PUT request for '/subversion/cdaapi/!svn/wrk/3c75d861-8462-b94e-8729-df54843044f9/trunk/TemplatesLibrary/constraints/templates/TP146226GB02_Consent.cs'  

如下所示是“SVN st -u”的请求输出

>svn st -u
M               92   TP146226GB02_Consent.cs
Status against revision:     92              
13个回答

69
如果您的 SVN 仓库被 AnkhSVN 锁定,只需使用 AnkhSVN 的 "cleanup" 命令来释放锁定!;)

1
非常有帮助 - 谢谢!同样适用于Mac上的Versions.app。圣诞快乐! - Fattie
1
我试图检查根文件夹中的一个文件夹。你必须对根文件夹进行清理。 - Manish Mudgal

10

我也遇到了同样的问题。如果你从AnkhSVN中发出“Cleanup”命令,这个问题很容易解决。


10
在与我的SVN存储库托管方讨论后,他们给出了以下答复。
显然,我的存储库使用SVNSYNC复制到远程存储库。 SVNSYNC在强制执行跨复制存储库的锁定方面具有已知限制,这就是问题所在。
锁定由Visual Studio中的AnkhSVN插件引入。
由于锁定似乎在远程存储库上,这就解释了为什么我不能使用SVN命令实际查看它们。
托管公司正在通过删除锁定来解决问题,希望一切很快恢复正常。

9
这些设置适用于我: 屏幕截图 当我检出代码库时,连接超时后我无法更新代码库。

5

在我的情况下,甚至使用乌龟SVN清理也是好的,无需使用Ankh。


5

我没有使用AnkhSVN,但在取消Tortoise SVN更新后遇到了类似的问题。它留下了两个“已锁定”的目录。与Roman C的解决方案类似。对于每个“已锁定”的目录中的一个文件使用“Get lock”进行锁定,然后释放这些锁定,然后对最高级目录进行清理。这似乎解决了问题。


我也遇到了相同的问题,在取消 TortoiseSVN 更新后出现了锁定错误。对我来说,从 TortoiseSVN 进行“清理”操作解决了这个问题(从命令行运行 svn cleanup 并不足够)。 - Cameron

4
我必须进行清理并选择“打破锁定”才能使它对我起作用。

4

我遇到了类似的错误消息。我进行了 svn clean-up 操作,然后尝试了几次 "get clock"。这样,这个错误就消失了。


对我来说完全正常,通过“获取锁”获得了锁,又遇到了错误,对根目录进行了清理并摆脱了它。 - JBA

1

我曾经遇到过同样的问题,当我勾选下面的复选框时,问题得以解决


1

您需要通过右键单击要更新的Windows位置后获取的清理选项来清理您的乌龟 SVN。 并且在清理后,尝试通过右键单击后获取的“更新 SVN”选项来更新 SVN。

这对我有用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接