Folder is locked and I can't unlock it

落花浮王杯 提交于 2019-12-20 08:15:29

问题


When I'm trying to update or commit code from a project it's telling me that the folder is locked. When I try to "release lock" it says that there's nothing to unlock in this working space.

What does that mean? Why I can't update, commit or even clean up the project.


回答1:


Right click on your Subversion working directory folder, and select TortoiseSVN->Clean Up from the Context Menu. This will recurse it's way through your working directory and cleanup any incomplete actions, remove the local locks (which is different from using Subversion locking of a file in the repository which lets everyone know about the lock).

If that doesn't work, see if you can find the names of the files that were changed, but not yet committed, save them, and redo the checkout.




回答2:


If the file was locked by yourself(same svn account), you can follow these steps:

Right click on the locked file or folder, and select TortoiseSVN->Get lock... , and check on "[] Steal the locks" at the bottom left corner of the dialog, click "OK". If it complete successfully, that's ok. When you right click on the file again, you can see TortoiseSVN->Release lock..., click to unlock.




回答3:


Using svn command line to unlock the local folders, just use svn cleanup.

Before:

# svn commit -m "fixing #1234"

# svn st

# svn cleanup

After:

# svn st

# svn commit -m "fixing #1234"




回答4:


To anyone still having this issue (Error: Working copy '{DIR}' locked.), I have your solution:

I found that when one of TortoiseSVN windows crash, it leaves a TSVNCache.exe that still has a few handles to your working copy and that is causing the Lock issues you are seeing (and also prevents Clean Up from doing it's job).

So to resolve this:

Either

1a) Use Process Explorer or similar to delete the handles owned by TSVNCache.exe

1b) ..Or even easier, just use Task Manager to kill TSVNCache.exe

Then

2) Right click -> TortoiseSVN -> Clean up. Only "Clean up working copy status" needs to be checked.

From there, happy updating/committing. You can reproduce Lock behavior by doing SVN Update and then quickly killing it's TortoiseProc.exe process before Update finishes.




回答5:


This was the first time I had this issue. I even tried to restart PC, without effect. This solves my problem:

Solution for me:

  1. Right Click on Project Working Directory.
  2. Navigate TortoiseSVN.
  3. Navigate To Clean Up.
  4. Leave all default options, and check Break Locks
  5. Click OK

This works for me. I was able to commit changes.




回答6:


To unlock a file in your working copy from command prompt that is currently locked by another user, use --force option.

$ svn unlock --force tree.jpg




回答7:


I had this issue and i have done below steps to resolve it:

  1. Go to parent folder instead of child folder
  2. Select SVN cleanup
  3. Click on OK.

Do this step on parent folder instead of child folder!

It worked for me !




回答8:


I was moving a folder up one level and into another folder. My mistake was doing the move from within the parent folder.

Bad example:

pwd -> C:\Repo\ParentDir\
svn move ./DirtoCopy ../AnotherDir

SVN needs to update the parent directory with the deleted folders info.
You have to do it from the common root of the source and destination folders or use full paths.

Good example:

svn move C:\Repo\ParentDir\DirtoCopy C:\Repo\NewLocation



回答9:


I had this problem where I couldn't unlock a file from the client side. I decided to go to the sever side which was much simpler.

On SVN Server:

Locate locks

 svnadmin lslocks /root/of/repo
 (in my case it was var/www/svn/[name of Company])

 You can add a specific path to this by svnadmin lslocks /root/of/repo "path/to/file"

Remove lock

 svnadmin rmlocks /root/of/repo “path/to/file” 

That's it!




回答10:


Solution :

  1. Right Click on Project Working Directory.
  2. Navigate TortoiseSVN.
  3. Navigate To Clean Up.
  4. Select Clean up working copy status(make checked mark)
  5. Click OK
  6. Repeat Step 1 and 2 then navigate to release Lock.
  7. Click OK Your project lock get opened.



回答11:


In addition to David M's answer, while doing cleanup -> check 'break locks' option. This will ensure release of locks. Then do svn update. This worked for me.




回答12:


To unlock a blocked document: 1. Right click -> Lock 2. Check the "Steal the locks" check box 2. Release the lock




回答13:


I research a lot on this issue but no solution fix my problem until I try this:

My repo folder is shared with a Windows xp virtual machine, so I execute the clean up from the VM and then execute SVN UPDATE from the host.

It worked for me.

Greetings from Costa Rica.




回答14:


I was able to resolve this issue on my machine by renaming folders to make the folder path smaller.




回答15:


I had this happen after having Tortoise get corrupted and crash while trying to update folders. I ended up re-installing Tortoise, but the ghost lock was still present. From there I had to delete the folder and do a new checkout. Obviously I got really lucky that I didn't have any new changes to commit at the time. Anyhow, not great news, and if anyone has a better solution I'd love to hear it myself. Even using "Break Lock" ie unlock with the force option did not change anything.




回答16:


Clean up, check all check box => This work for me




回答17:


I encountered this problem after these operations:

  1. get lock on folder
  2. modify files
  3. remove files and update folders --> new files downloaded
  4. try to commit or release lock

I finally resolved the problem by forcing the lock again : TortoiseSVN --> Get Lock --> check "steal lock" then commit or release lock.



来源:https://stackoverflow.com/questions/10018928/folder-is-locked-and-i-cant-unlock-it

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!