SVN“已经锁定错误”

时间:2012-03-20 00:01:20

标签: svn tortoisesvn

当尝试将更改提交到存储库(我是唯一的用户)时,我收到错误

Path
'/trunk/TemplatesLibrary/constraints/templates/TP145210GB01_PersonWithOrganizationUniversal.cs'
is already locked by user 'admin' in filesystem
'/guest/gam/subversion/cdaapi/db'

我是用户'admin'。

我尝试了以下内容,但都没有成功

  • 从Tortoise SVN运行“清理”
  • 签出新副本
  • 使用“repo browser”打破锁定,但没有显示锁定(根据SVN file locked by me, now cannot commit it

    我现在完全陷入困境,因为我现在有一个存储库,我无法提交任何更新。

    我如何解决这个问题

    根据要求提供更多信息:

    SVN状态命令产生(我已对一个文件进行了编辑)

            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 个答案:

答案 0 :(得分:65)

如果您的SVN存储库被AnkhSVN锁定,只需使用 AnkhSVN 中的“cleanup”命令即可释放锁定! ;)

答案 1 :(得分:10)

在讨论托管我的SVN存储库后,他们给了我以下答案。

显然,我的存储库使用SVNSYNC复制到远程存储库。 SVNSYNC已经知道在复制的存储库中实施锁定的限制,这就是问题所在。

这些锁是由Visual Studio中的AnkhSVN插件引入的。

由于锁似乎位于远程存储库中,这解释了为什么我无法使用SVN命令实际看到它们。

这些锁正在通过托管公司被移除,希望很快就会很好。

答案 2 :(得分:10)

我遇到了同样的问题。如果从AnkhSVN发出清除命令,则可以轻松解决此问题。

答案 3 :(得分:5)

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

答案 4 :(得分:5)

使用乌龟svn清理它甚至不错,在我的情况下不需要使用Ankh一个

答案 5 :(得分:4)

我有类似的错误消息。我运行svn清理,然后尝试“获取时钟”几次。然后这个错误消失了。

答案 6 :(得分:4)

我必须做一个清理并选择" Break Locks"因为它适合我。

答案 7 :(得分:4)

这些设置对我有用:

Screenshot

我在连接超时后无法更新存储库,而我正在检查存储库。

答案 8 :(得分:1)

我遇到了同样的问题:我不能同时提交大量文件。


提交的工作原理是:

  1. 运行"清理"来自Tortoise SVN

  2. 单独提交每个文件。创建新的根文件夹并提交每个文件或文件夹。


  3. **如果错误返回,则应重复操作号1-2-2 **

答案 9 :(得分:1)

我遇到了同样的问题, 当我选中以下复选框时,该问题已解决

答案 10 :(得分:0)

TortoiseSVN用户:右键单击根项目目录> TortoiseSVN>清理......(确保检查所有方框)。这对我有用。

答案 11 :(得分:0)

您需要通过点击您获得的清理选项来清理您的乌龟SVN 右键单击要更新SVN的窗口。 在清理之后,尝试通过单击右键单击后获得的UPDATE SVN选项来类似地更新SVN。

这对我有用。

答案 12 :(得分:0)

有时,如果锁是由另一个进程创建的,则使用“中断锁”选项清理存储库仍然无法进行。 可能的解决方案: 1)在文件夹/文件上获取新的锁,然后选择“隐藏锁”选项 2)释放新锁。