locked
Is there a way to disable "get latest on checkout" when working with server workspace RRS feed

  • Question

  • Content: I describe the problem divided in "Precondition", "Actual Problem", "Already tried settings", and "Related Questions".

    ----------------------------------------------------------------------------------------

    Precondition:

    in the following description Server C = win serv2008 RC2 with TFS2012

    and developers machines A & B = windows8 with VS2012  (Version 11.0.51106.01 Update 1)

    2 Developers (A &B) have their source code on a server C (server workspace), and check-in their changes on C and get latest from C. Because they are only 2 people, they chose to check-out exclusively. (One is in US, other in Europe, with 7h time shift)

    Actual Problem: (Description focuses only on one file)

    A & B have both the actual version e.g. 79 from C on their local machines.

    A checks out the file, edits, and checks in again. (v80 now on A & C)

    B wants to edit the same file, opens his local v79 file, and -(now "problem")- TFS automatically gets latest (80) from C, and B thinks "I'd rather put in my code from v79 first, and manualy merge with 80 from A afterwards, to put finally a clean merged v81 back on C."

    Already tried settings:

    A & B thought that the following Setting would resolve the problem:

    Team->Team Project Settings->Source Control... -> Tab Checkout-Settings-> Uncheck "Enable get latest on checkout"

    Related Questions:

    The "enable get latest on checkout" option was already disabled, but vs2012 still gets latest automatically.

    -------------------------------------------------------------------

    Alright! I hope the problem is described well enough, I would be very glad, if someone could give me an advice.

    Wish you a great day!

    Adrian


    • Edited by Ädu Friday, December 14, 2012 2:27 PM change focus of question
    Thursday, December 13, 2012 8:09 PM

Answers

  • In that case, i believe you :). I suggest submitting a bug on connect, as you've followed all the steps required. You could try installing Visual Studio 2012 Update 1, just in case, shouldn't you have done so already...

    My blog: blog.jessehouwing.nl

    Friday, December 14, 2012 6:45 PM

All replies

  • You can set it the workspace type to a server workspace and you can then set the option "Get latest version on checkout. He could do a get-latest manually too, but this kind of forces him to retrieve the latest version.

    But on the other hand, the true solution, if you only have two people working in the same office, is that they *talk* to eachother and coordinate their work.



    My blog: blog.jessehouwing.nl

    Thursday, December 13, 2012 11:07 PM
  • Hey Jesse, thanks for your reply!

    You helped me to see, that i had to reformulate my question, and clarify some circumstances.

    We had the workspace already on server (my comment about local copies was misleading), and the setting you mentioned was already off. (no auto get-latest on checkout)

    But VS2012 still does auto get-latest on checkout.

    Concerning team strategy: we do talk and coordinate, and in majority we are not working on the same files, but sometimes its inevitable, and we don't want to wake each other up in the middle of the night. ;) (and the problem is not the exclusive lock, that works fine for us, but the auto get-latest bothers us)

    I hope there is still another way to turn auto get-latest on checkout off.

    Greetings, Adrian

    Friday, December 14, 2012 2:42 PM
  • I don't get it. If you are working with server workspaces and not local workspaces, Visual Studio 2012 respects the "no get latest on checkout" option.

    In the end, the common best practice is to regularly get the latest version. The primary reason for people not to do so, is often because their solution might no longer build, either due to changes they made, or due to errors checked in by others. I'd start focusing on changing that behavior, than trying to work in a way that will lead to inevitable problems.

    It will take some time for developers to get used to non-exclusive checkouts. It will take time to get used to checking the Source Control Explorer or the Solution icons to see whether someone else is already working on said file. It will take time for people to understand when to merge and when not to. 

    In the end it's better to start changing the behavior, than trying to bend the tool to your will. TFS and VS will happily bend to whatever type of issue you have, but it;s often a lot easier to just remove the issue.


    My blog: blog.jessehouwing.nl

    Friday, December 14, 2012 3:31 PM
  • Hy Jesse,

    the problem with our project is, that Visual Studio 2012 does not respect the "no get latest on checkout" option, in our case.

    The reason why we don't want the auto get latest, is because of errors checked in by others. (learning reasons)

    I'm aware of that we have to develop and adapt to how source control works "today", and we're on it, but as for now we just like to have a little bit more control over the "no get latest on checkout" option, even if it seems, that the settings are right so far.

    Thx again for your time and effort.

    Adrian

    Friday, December 14, 2012 4:00 PM
  • It might be simpler to setup a Gated Checkin build for a little while. Or use the "Builds" checkin policy.

    Are you certain you don't have a local workspace set as the workspace type? Only Server workspaces keep this setting in mind: http://msdn.microsoft.com/en-us/library/bb892960.aspx#workspace_server


    My blog: blog.jessehouwing.nl


    Friday, December 14, 2012 4:05 PM
  • Thx for the advice (we do not check in code that doesn't build, but good to know these options (gated, builds) exist), but the problem is actually, that our vs2012 installations (on both sides) ignores the disabled "get latest on checkout" option. vs2012 does it anyhow.

    (I personally am aware, that I and my colleague have to talk about our Source Control Strategy, but that's not the reason, why this thread was started (or at least not directly). It's actually, that our vs2012 installations ignore the disabled "get latest on checkout" option.)

    If you want i can send you screenshots per email that clarify that the workspace is set to a server. (otherwise lock on check-out wouldn't be possible), and that the "get latest on checkout" option is really disabled.

    Best regards,

    Adrian

    Friday, December 14, 2012 4:49 PM
  • In that case, i believe you :). I suggest submitting a bug on connect, as you've followed all the steps required. You could try installing Visual Studio 2012 Update 1, just in case, shouldn't you have done so already...

    My blog: blog.jessehouwing.nl

    Friday, December 14, 2012 6:45 PM