Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

TortoiseSVN: What causes the grey checkmark?

Let me start by explaining our set-up:

I am working with some contractors. They are using Visual Source Safe for source control and our company is using Subversion. Every few days they preform a checkin to our repository by doing the following steps:

  1. Checkout from our repository (they're the only ones working on it so this doesn't actually do anything)
  2. Copy into the directory all the application files
  3. Commit back

Its a horrible process and we plan to address it in the next iteration but it works. Except that sometimes it doesn't. Sometimes after they do the commit some of the files have a gray checkmark overlay.

I am not sure what this means. Googling around implies it might have something to do with locking but nobody is explicitly locking anything! The files seem to get committed, but they are missing when I do a check out. I am sure that I am missing something.

Can anyone explain whats gong on and how to fix it?

like image 354
George Mauer Avatar asked Feb 12 '09 22:02

George Mauer


2 Answers

from here:

If you have set the svn:needs-lock property on a file, Subversion makes that file ReadOnly until you get a lock on that file. Read-only files have this overlay to indicate that you have to get a lock first before you can edit that file.

We don't use the needs-lock stuff here, so I can't really explain more. It's a start though.

Edit: Since they are using VSS, the files will have the read-only attribute set when they are not checked out. TortoiseSVN may be interpreting this as having the needs-lock set.

like image 55
Moose Avatar answered Oct 02 '22 07:10

Moose


These are file which have the svn:needs-lock property set. To edit these files you first have to lock them.

Here's the explanation from TortoiseSVN's help file:

If you have set the svn:needs-lock property on a file, Subversion makes that file read-only until you get a lock on that file. Such files have this overlay to indicate that you have to get a lock first before you can edit that file.

This is usually used with binary files (images, word documents, etc.) that can not easily be merged when edited by several persons. The lock prevents that the file can be edited by more than one person at a time.

If you want to remove the svn:needs-lock property, then right-click the file, select TortoiseSVN -> Properties and delete the property.

Update: what can cause a file to have the svn:needs-lock property:

  • either it was explicitly set by someone
  • or you have some rules in the subversion config file (TortoiseSVN -> Settings -> Edit subversion configuration file). Check the [auto-props] section of that file. For example, we automatically set the needs-lock property on all MS-Office files, by adding the corresponding file-extensions to the [auto-props] section of the subversion config file.
like image 32
M4N Avatar answered Oct 02 '22 05:10

M4N