ChatGPT解决这个技术问题 Extra ChatGPT

Folder is locked and I can't unlock it

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.

Which version of svn are you using?
Assembla for a repository , Tourtise SVN 1.7
So do you have a .svn folder in each directory or just the root?
Have you tried checking out the project again into a separate working copy?
Yes its working if i check it in a different folder , but the database isn't opening

D
David W.

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.


I had this issue and clean up didn't work (failing to clean up because of the local locks), but going up to the parent folder (which was also under version control) and doing the clean up there fixed the problem.
You can break the local locks by checking Break locks option.
@Malvineous 's comment is precious. Should post this as an answer.
c
cuixiping

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.


S
Sebas

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

Before:

# svn commit -m "fixing #1234"

https://i.stack.imgur.com/Wt9qA.png

# svn st

https://i.stack.imgur.com/j0Utm.png

# svn cleanup

After:

# svn st

https://i.stack.imgur.com/KGxMJ.png

# svn commit -m "fixing #1234"

https://i.stack.imgur.com/JSPd5.png


Downvote for posting textual information as screenshots.
J
Jonathon J Howey

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.


W
WilliamK

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

Solution for me:

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

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


Checking the Break Locks checkbox fixes my issue.
This is the perfect answer I have been looking for. Thanks a ton
This should be the correct answer. Practical, easy and straight to the point!
m
manav m-n

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


What if I want to unlock a directory?
@IgorGanapolsky Give directory name instead of file name in above command
@IgorGanapolsky what error msg are you getting. Let me check
The node is not a file!
A
Akhilesh

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

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

Do this step on parent folder instead of child folder!

It worked for me !


T
Toby Mellor

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

u
user7257040

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


S
Stacker

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!


V
Vinayak

Solution :

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


V
Vinayakumar K

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.


L
Luisca94

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.


r
rsivakumar

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


f
frank

I encountered similar issue, it told me that some files has been locked by xx. However, xx said he has release lock and he cannot find the lock on TortoiseSVN.

clean up doesn't work for me. I have to ask he go to TortoiseSVN -> Repo-browser, find the corresponding files, then right click these files and choose break lock.


J
JMM

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.


Đ
Đức Thắng Nguyễn

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


Same as Đức Thắng Nguyễn. Do a "robust" Clean Up.
m
med_alpa

I encountered this problem after these operations:

get lock on folder modify files remove files and update folders --> new files downloaded 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.