Suggest a new feature or enhancement; Ask a question...

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.

191 votes
Vote
Sign in
Check!
(thinking…)
Reset
or sign in with
  • facebook
  • google
    Password icon
    I agree to the terms of service
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    Red Gate AdministratorAdminRed Gate Administrator (Admin, Red Gate) shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

    31 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      Submitting...
      • StephenStephen commented  ·   ·  Flag as inappropriate

        I like @Andrew Hartley's suggestion of a manual flag. Having developers working in two locations a thousand miles apart means you can't exactly call over the cube for a quick "anyone changing XXX?" Manual "mark this as being worked on", with a userid of course, would be very helpful shy of exclusive checkouts everywhere.

      • Andrew HartleyAndrew Hartley commented  ·   ·  Flag as inappropriate

        Happy to compromise on a manual flag option as I'm sure an auto exclusive checkout will require a completely different mechanism to identify changes. We need to be able to flag an object as being edited so that other devs can see and at least have a conversation about whether to merge changes or wait for one change to be checked in before starting the next. We would use this for about 5% of our changes, but they are the time consuming complex headache-generating changes that we don't want to be made even more complicated by sifting through a merge process - please...

      • samsam commented  ·   ·  Flag as inappropriate

        yes I would like exclusive checkout to prevent others from overwriting my code in shared environment.

      • SethSeth commented  ·   ·  Flag as inappropriate

        In response to David's question, I think it is important to support both the ability to lock an object as well as allow multiple people to work on the same object. In the second scenario, I think it is important to alert them that something they are working in is checked out by another developer; in a fashion for than just an indicator on the object. They should have to perform a check out and get notified that "<user> also has <object> checked out."

      • vtvt commented  ·   ·  Flag as inappropriate

        Locking feature would be very much useful

      • HYHY commented  ·   ·  Flag as inappropriate

        We are delaying the purchase of this product to my whole team because of this missing feature.

      • BradBrad commented  ·   ·  Flag as inappropriate

        This will be a great feature and a deal clincher with management to purchase this product. Trying to resolve conflicts and merge changes of parallel development has wasted too much time in the past and it would be far nicer, safer and simpler if changes were done exclusively. If that's not possible, then even a notification that someone else has made changes that haven't been committed yet would be a good start.

      • David FeilerDavid Feiler commented  ·   ·  Flag as inappropriate

        I agree; we need this lock functionality, or we won't really be able to use the integration. We rely on this to avoid conflicts

      • zacukezacuke commented  ·   ·  Flag as inappropriate

        We are considering using SVN-Lock to prevent multiple people from editing one object in a shared database environment.

      • David AtkinsonAdminDavid Atkinson (Admin, Red Gate) commented  ·   ·  Flag as inappropriate

        @Seth - which is more important, preventing another user from modifying an object you're working on, or letting them know that you're working on it, so they work on it at their own risk?

      • SethSeth commented  ·   ·  Flag as inappropriate

        I too vote for this. Being able to lock an object you are working on so that other developers know that you are working on it is a must. We still use the product and like it a lot, but this would be a great feature to have.

      • CraigCraig commented  ·   ·  Flag as inappropriate

        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.

      • WillWill commented  ·   ·  Flag as inappropriate

        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.

      • BenBen commented  ·   ·  Flag as inappropriate

        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.

      • David AtkinsonAdminDavid Atkinson (Admin, Red Gate) commented  ·   ·  Flag as inappropriate

        @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?

      ← Previous 1

      Feedback and Knowledge Base