TFS - Exclusive Checkout / SVN - Lock
It would be really nice if there was a way to checkout or lock db objects so that I know that I'm the only person working on this object and I will not experience any conflicts when I go to commit the object.
With SQL Source Control 4.0, we have introduced our new Object Locking feature!
This feature allows users to lock the SQL object directly on their database server, meaning other users on the same server cannot make changes until you finish you work and release the lock.
-
Craig commented
I too would like to vote for this feature.. It seems fundamental to us for a multi-developer environment.
This is an issue that is stopping us from implementing redgates SQL Source Control into our development processes. -
Will commented
I am going to vote for this. I'm having a hard time convincing my developers to use SQL Source Control due to this feature (and tagging as well, but that's another story). It's been my experience that most developers working on SQL Server "grew up" with Source Safe, in which exclusive checkout/SVN lock is the default behavior. I've worked extended periods of time in a non-Microsoft shop, so copy-modify-merge doesn't bother me. However, I am the exception.
-
Ben commented
Well it would obviously prevent concurrency issues where if two of our developers were working on say the same stored procedure - the 2nd person in to execute their alter script would over-write the other person's changes, possibly without them even knowing. The same problem occurs when it comes time to check-in (or 'committ' as used in your software) the changes into your source control system.
I guess one big thing to note is that i'm coming from an application development environment where we have a SQL DB backend, as opposed to just being dedicated DB developers. The standard model for app source control, as you're no doubt aware, is check-out the file (for simplicity we only allow single concurrent check outs) and obtain a lock on the file, perform your changes and check it back in. We're using TFS to do this. So it would be best if we can apply the same processes to managing the source for DB development.
Now while your product appears unique (at least as opposed to using say a VS2010 DB project) in that it will detect changes in the DB automatically, (which is really, really nice) it just doesn't quite fit our preferred development process. But if you add DB object locking we'd have to versy seriously consider using your product. But at the moment, it looks like we'll probably start using VS2010 DB projects and perform all of our DB development from VS, rather than SMSS.
-
@Ben - could you let us know what is the primary reason that exclusive locking is important for you? In other words, what existing problem would the introduction of this feature solve for you?
-
Ben commented
An option for exclusive lock out is a must. The SSMS add-in should handle checking objects out both in the source control software (eg TFS) and within SSMS. That SQL Source Control does not currently do this is pretty much the only reason we won't be using it in our development environment
-
Ed M commented
I'm not necessarily sure I object to multiple people checking out the same object, but being able to see who already has it checked out would help inform the decision to work on it / consult colleague or not.
-
Eric Wahner commented
I think this has to be included in the software to have a real acceptance. Far too many times developers will be working on complex queries and to not understand that someone else is already working on that object can be a huge time sink.
-
Phoebe commented
We would definately use this feature (automatically lock object), it provides a level of safety when having multiple developers working in the same database. We would require it to work with SVN.
-
Tom Graham commented
We need the ability to set up an entire repository with "only allow exclusively checked out source to be checked in" function, as well a "check out exclusively" function.
Other people could still look at the source, copy the source, do whatever with the source, but only the person who got the exclusive check out can check their source back in. Or they can cancel the exclusive check out.
Please give me this!!! -
Dat commented
+ 1 on the lock option.
-
Mike Fulkerson commented
Definitely would love to see a lock option.
-
FunkyDexter commented
We'd really want this before we took up the product. Knowing you're working on the latest version of the code and that nobody else is putting your changes in jeapordy seems fundamental. I've never liked the merge model because it's too easy for a careless developer to muck up another's work.
-
Would you also want an option to do this automatically? If so, vote/comment at http://redgate.uservoice.com/forums/39019-sql-source-control/suggestions/1016301-auto-checkout-from-tfs-on-modify-of-sql-object-an.
-
MRATHBUNDBA commented
checkout/lock-edit-checkin please.
-
Clifton Collins commented
Yes we need exclusive checkout-lock. We need checkout/lock-edit-checkin in a commercial environment.