Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 Old Forums
 CLOSED - SQL Server 2005/Yukon
 Comments on SQL 2005 and Visual SourceSafe

Author  Topic 

SamC
White Water Yakist

3467 Posts

Posted - 2006-03-14 : 05:58:16
I've read that Visual Studio is supposed to have a revamped interface for developing and debugging T-SQL and has new support for "SQL Projects" in Visual SourceSafe.

I'd appreciate hearing any pros or cons from readers about SourceSafe 2005.

Is it a good choice for a 3-person .NET development team or too much?

Is it better for developing T-SQL projects or is it more of a burden?

Sam

spirit1
Cybernetic Yak Master

11752 Posts

Posted - 2006-03-14 : 11:15:13
well source safe has been put into maintanance mode by MS.
they're now promoting VSTS (Visual Studio Team System).
however for a small team of 3 VSS is ok as long as you make regular backups because it's still
just files on a network disk.
also if you're a MSDN universal subscriber you'll receive a copy of VSTS that's limited to 5 users.

Go with the flow & have fun! Else fight the flow
Go to Top of Page

Kristen
Test

22859 Posts

Posted - 2006-03-14 : 11:49:05
I don't like the "get & lock" approach of Source Safe (unless they've changed it in 2005!). Particularly for any stuff you may want to cart off on a laptop to work on somewhere else.

I much prefer the approach of SubVersion. I have the complete sourcecode [well, all the areas I need to work on at least!] on every machine I (and colleagues) work on. I can work on anything, and check it in when I'm done. If someone else has changed it in the meantime (unlikely in a 3-person team) then I have to "merge" my changes into their's.

Kristen
Go to Top of Page

SamC
White Water Yakist

3467 Posts

Posted - 2006-03-14 : 13:45:55
quote:
Originally posted by spirit1

well source safe has been put into maintanance mode by MS.
they're now promoting VSTS (Visual Studio Team System).

Couldn't tell it was in maintenance with the announement of VSS 2005,and it's $500/copy now, and isn't bundled with Visual Studio any longer.

I haven't heard anyone give a resounding endorsement of VSS, and noone I know has tried VSS 2005. It may be time to try Kristen's recommendation.

Any other suggestions appreciated.
Go to Top of Page

eyechart
Master Smack Fu Yak Hacker

3575 Posts

Posted - 2006-03-14 : 14:25:39
Kristen, what do you use to integrate subversion into your Dev environment?

VSS is a choice for many simply becuase it is supported out of the box by Visual Studio. Getting Visual Studio to work with anything but VSS is a bit of a hassle from what I've seen.

I don't mean to hijack this topic, but any tips on subversion/visual studio/SQL Server integration would be welcome. maybe this should be a separate topic.


-ec
Go to Top of Page

cshah1
Constraint Violating Yak Guru

347 Posts

Posted - 2006-03-14 : 16:06:06
/***
I don't like the "get & lock" approach of Source Safe
**//
Kristen, what do you meant by above? I thought multiple checkout is possible in VSS
Go to Top of Page

Kristen
Test

22859 Posts

Posted - 2006-03-14 : 20:05:54
"what do you use to integrate subversion into your Dev environment? "

Tortoise - http://tortoisesvn.tigris.org/

(SubVersion and Tortoise are open source)

Integrates at the shell level - so can you just right-click in Windows Explorer to check in a file or path-below-here, or similarly to freshen local files with latest version from the repository. Also "options" on the same right-click menu let you do things like DIFF your local file against the latest (or an earlier) version in the repository, and so on. Moving between folders carries with it the version history, rather than orphaning it off, and so on.

I think there are integrations to the MS Visual Tools, but as most of our stuff is SQL and files edited with a text editor we're pretty comfortable with using Tortoise at the file level.

"I thought multiple checkout is possible in VSS"

You're probably right, its ages since I used it.

I just like that fact that I have all the source code I need checked out, at any time. I work on it, and when I get to a point where I reckon it is all working I "commit" my changes (all checkins are atomic -so no chance of one file checking in and then a conflict preventing checkin of the remainder!). Once or twice a day I "freshen up" from the repository so that I know all the stuff I haven't yet changed is bang up to date.

Plus, as I mentioned, I like being able to work disconnected on my laptop and then just Commit when I'm next connected to the network.

There's a pretty good Blog by Eric Sink (boss of Source Gear - who write Vault) which explains Best Practice for version control, and the differences between the Source Safe and CVS/SubVersion/Vault methods. I'm sure he explains it much better than I can - especially given that its 1am over here just now!

http://software.ericsink.com/scm/source_control.html

Kristen
Go to Top of Page

spirit1
Cybernetic Yak Master

11752 Posts

Posted - 2006-03-15 : 05:38:02
quote:

Couldn't tell it was in maintenance with the announement of VSS 2005,and it's $500/copy now, and isn't bundled with Visual Studio any longer.

I haven't heard anyone give a resounding endorsement of VSS, and noone I know has tried VSS 2005. It may be time to try Kristen's recommendation.

Any other suggestions appreciated.



i read that in november 2005 edition of "Research Directions on Microsoft" issue. on it's cover it says Independent analysis of
MS Technology and strategy. so... if they're wrong i'm wrong.


Well we use SourceOffSite with 2005 and it works preety ok.


Go with the flow & have fun! Else fight the flow
Go to Top of Page

Wanderer
Master Smack Fu Yak Hacker

1168 Posts

Posted - 2006-03-15 : 06:45:16
Kristen: are you running continuous integration? Another question - so you make changes to CodeA and CodeB - and Bob makes changes to CodeB. You need to "merge" your CodeB with his - depending on the extent of the code changes that are made, that could be quite time-consuming/challenging?

*##* *##* *##* *##*

Chaos, Disorder and Panic ... my work is done here!
Go to Top of Page

Kristen
Test

22859 Posts

Posted - 2006-03-15 : 08:09:48
"are you running continuous integration?"

Not sure what that is, can you clarify?

"You need to "merge" your CodeB with his"

Yes, in that circumstance (although you CAN lock files for exclusive use if you like, similarly to Source Safe)

In practice it doesn't happen [often]. We don't have huge monolithic source code files, and folk tend to be working in different files. Increase you rate of checking/checkout and the probaiblity goes down, of course.

In the even of a collision SubVersion gives you a couple of options:

It can created a "unified-merge". All changes are identified as to who made them, you are left with a single file with "Markers" for each person's changes.

It can fire up a DIFF tool (either their own, which is ok-ish, or a 3rd party one - we use the one from the code editor we have a preference for). "Bob's changes" are already in the repository, so its only a question of merging yours with his. That depends on whether you have been working in the same areas of the file, or not. If not it tends to be pretty straightforward, but if Bob was trying to solve the same problem as you, but in a different way, then that wold be annoying, for sure!

And if the changes are not in the same area of the file ... SubVersion can merge the two without any human input. It does NOT do this [I think] if specific lines, or maybe adjacent lines/blocks, have edits in both versions. Although this is clever it leaves you with the least control ... but ...

there is a system called "blame" that will tell you for each line of the "master" file who made the change, so after any sort of merge its possible to see who made what change.

The only problem we have had is when one of my chaps edited some stuff at home, forgot to check it in, made some additional changes here, and then they got auto-merged with his home copy. As he was logged on with the SAME UserID at both ends we had some difficultly working out what the automerge had actually done!! We introduced different UserIDs for homeworking to prevent that being an issue in future.

We have also introduced "policy" to Commit changes first, then Update all from repository. The Commit will fail if there are conflicts, so you get a chance to sort them out before the Update decides an AutoMerge is valid. If you forgot to Commit last night, and the process for this morning is to Commit BEFORE doing an Update of your local copy you will catch any unexpected conflict

Only other criticism I have (actually I've read it voiced on the Forums, but it doesn't really bother me) is that SubVersion creates a hidden folder in each "real" folder to store a copy of an as-was version of each file. This enables it to work out files that are renamed / moved to other folders, what's under version control and what is not [as yet] and so on. A straight File Search by content is liable to find all the files in the hidden folders too, and there are stories of some bosses in a hurry copying the folders, AND hidden folders, to a laptop and back again, thereby mucking things up. I have no sympathy with that!

Kristen
Go to Top of Page

Wanderer
Master Smack Fu Yak Hacker

1168 Posts

Posted - 2006-03-15 : 10:13:35
HErewith a laymans understanding:

Continuous integration is a process whereby a (usually) dedicated build server recomplies your code base whenever a modified/new piece of code is checked in. (Our config guys have tested a version, using CRuise Control, that did this on any change).

Practically, we have a build server that, on an hourly basis, takes the checked in code base and compiles a version of code. When all open bugs and stories have been completed, that code can roll through our environments.

The idea is that only correct, complete code is checked in, and that any compiled code that has been compiled most recently has been unit tested, and code be deployed to test, and so on, through your process, to production.

I've heard that MS does this...

*##* *##* *##* *##*

Chaos, Disorder and Panic ... my work is done here!
Go to Top of Page
   

- Advertisement -