Re: Major bug in VS 2008 source code control




"jwinn" <jwinn@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:F8545673-0C25-4690-BB0C-D90923CBBC72@xxxxxxxxxxxxxxxx
Just do a get latest and check the boxes to overwrite files that are
already
at the latest version, and overwrite files that aren't checked out. That
will

Why would I need to choose "get latest" and check a box to overwrite files
that are already at the latest? If they're already at the latest, nothing
should need to be done. Or is it there's a magic "workspace" kind of
concept that users don't understand?

pull down fresh copies of the files.

Also you shouldn't be editing files outside of source control, period.

There are reasons to do this. Nothing is absolute like you make it out.

Is VS
going to compare every single file in a solution or project just in the
off
chance someone decides to take off read-only and manually edit it? The
file
was read-only for a reason.

Yes, in fact VSS does this, and until some of the later versions, it did it
very quickly just by checking the checksum. I've never once noticed any
timing issues with this, and we have thousands of files. It quite nicely
offers to replace a modified file among other things while it's doing its
"Get Latest". As an intelligent human being, I can do what makes
sense -much better than having somebody's unintelligble AI make the decision
for me - or even worse, imply it's getting the latest vesrion and then not
seem to do it.


Scenario:
User A edits a file outside of source control (like the web/app.config
file)
and eventually actually needs to make a change to it. User has gotten
latest
before and since their change was outside of source control it wasn't
aware
of the difference in the file. User A makes change to said file and checks
in
the changes. Now their earlier change that was done outside of source
control
has also been checked in with it.

This scenario already implies a convoluted SC system in the first place, so
I don't think it's valid. You say "source control wasn't aware"...there's
that artificial AI again! In VSS, if I click on a file and ask it to show
me the differences between the file in VSS and the file on my hard drive, I
cannot discern the delay between the time I click the button and the dialog
coming up to tell me "The files are identical". Real scenario:
I make a file writeable on my hard drive and make changes. I don't have an
AI system, so VSS "isn't aware of the difference". I go to check it in...I
find I cannot because I never checked it out!! How about that?! I decide
to check it out...in a split second VSS knows about the difference!! Now
VSS says "you have a writeable version" and I'm offered to leave it,
overwrite it or merge! How about that! And being much smarter than any AI
system M$ can write, I can use my judgment and do the right thing.

I'm sure there are super complicated change mangement systems that need the
kind of AI system that TFS apparently is, but sometimes people just want to
check out or change a file and clearly understand what they're doing and
what's going on behind the scenes. The problem with AI systems is that it's
not really AI, it just tries to be, and then all the humans have to work in
some contrained manner to make sure they don't do something the AI doesn't
understand. That's not a good trade-off. TFS is a big, bloated beast
that's hard to understand and hard to work with.


User B gets latest and pulls down the bad copy of the file, breaking their
build.

This follows your original invalid scenario, so is also invalid. In my
scenario that uses a VSS system that doesn't have any AI, User B will get
the version I as a human manually understood and created and put into source
control. By definition I'm supposed to know my job and understand what I'm
doing. If I screwed it up, I screwed it up - nothing can prevent that.


This is why you shouldn't be editing files outside of source control.

This is actually why you shouldn't be using an AI system for source control,
you mean. Also, if you've got people who are screwing this kind of thing up
regularly, then you need to re-think the kinds of people you hire. People
should be more than capable of editing a read-only file on their machine and
knowing what they're doing.

I
would hate a compare to be done on every file in the solution just in case
a
user made external changes. What happens when solutions have over 100k
files
and you get latest on the solution? You'd be pulling down files for weeks
by
the time compare finished on all of them.

Sorry, no. It does not take weeks and it does not have to pull down files
to compare them. Again, you're projecting your AI system on to VSS. A get
latest in VSS is VERY fast and while it's going it can say "this file
doesn't match the one in VSS, what do you want to do?" and I can answer and
have that answer work for all files or the current file, etc. The process
is quite painless. You see, I'm a heck of a lot better at AI than TFS is.

-Michael Viking


.


Loading