Source code control
-
What's your experience with Source Code Control? I've used (briefly) VSS (may it forever keep a large distance from me) then we used SourceGear's Vault (nice, good integration, had issues - probably user issues - while working remote), and now we're trying ionForge Evolution. It looks promising, has all the stuff for remote work so Paul, Nish, Smitha and I can do our coding thing scattered on the four winds, and has VS.NET integration. Small frowns are appearing as I read about "Productions" and "Sub-Productions" instead of projects and workspaces, but it looks good so far. I mean, I know when I code it can be a bit of a production (maybe a comedy?) but still... So, anyone use other SCC systems? CVS? cheers, Chris Maunder
We're using Vault but our development team is only 5 people, the largest number of people we've had work simultaneously on the same project is 3, and we rarely use it remotely (I occasionally inspect things from home). No issues except for occasional user error - e.g. using Get Latest with the Overwrite option unsurprisingly overwrites modified local files, but the modifications can be recovered since Vault backs up the local copy before overwriting or attempting a merge. Vault requires virtually zero maintenance. We perform a SQL Server full backup every week and a transaction log backup daily. After the weekly backup a scheduled task performs integrity checking and optimisation based on a maintenance plan generated from the SQL Server maintenance wizard. I'm sure SourceGear would be interested in any issues you had with Vault. Stability. What an interesting concept. -- Chris Maunder
-
What's your experience with Source Code Control? I've used (briefly) VSS (may it forever keep a large distance from me) then we used SourceGear's Vault (nice, good integration, had issues - probably user issues - while working remote), and now we're trying ionForge Evolution. It looks promising, has all the stuff for remote work so Paul, Nish, Smitha and I can do our coding thing scattered on the four winds, and has VS.NET integration. Small frowns are appearing as I read about "Productions" and "Sub-Productions" instead of projects and workspaces, but it looks good so far. I mean, I know when I code it can be a bit of a production (maybe a comedy?) but still... So, anyone use other SCC systems? CVS? cheers, Chris Maunder
I've used VSS remotely and it is really slow. I've setup subversion for some small projects and it works well over slow connections and it has explorer and VS.net integration that works much better then any of the VSS integration. It doesn't put any extra information in the projects.
I can imagine the sinking feeling one would have after ordering my book, only to find a laughably ridiculous theory with demented logic once the book arrives - Mark McCutcheon
-
Chris Maunder wrote: So, anyone use other SCC systems? CVS? Better than this, I'll give you some questions to ask when considering a new SCC: 1. What's the format of the storage? Beware of proprietary formats like the one VSS uses. When you have a corrupt repository, this makes all the difference. 2. Ok, let's suppose I used this SCC for an year, and now I want to migrate to another. How can I export my history? 3. Client-server operation is a must, as you already did notice. Anything that is not client/server doesn't have performance for this. 4. How many 3rd party tools are available? This also shows how easy is to integrate it with your own code. 5. The cost of the SCC is actually low compared to the cost of your code, but open source is nice because it's often multiplatform. 6. Don't believe in all those who promise "integration with VS.NET". The best way of doing it is by working directly on the file system, specially for ASP.NET development. The only reason for integration for VS.NET is a poor locking mode, which keeps you all day long cheking in and out your code. 7. Exclusive checkouts are stupid, and not scalable (in terms of staff size). Run away from any SCC that works only with exclusive checkouts. 8. How well does it work with binary files? 9. How well does it work with files that should not be merged, even if they are text files? 10. How mature is it? A SCC tool that is only a few months old isn't stable enough (i.e., you'll face a lot of bugs, probably). For most of the reasons above, I chose CVS. Yes, even I am blogging now!
Defending VSS... Daniel Turini wrote: 1. What's the format of the storage? Beware of proprietary formats like the one VSS uses. When you have a corrupt repository, this makes all the difference. Or a better approach might be to not worry about the repository format, if it doesn't corrupt. We've been using VSS for 9 years here (with histories going back that far for some projects), and we've had one problem. We restored from backups - that's what they're there for. Daniel Turini wrote: 3. Client-server operation is a must, as you already did notice. Anything that is not client/server doesn't have performance for this. The VSS model is fine, if your network performance is OK. Daniel Turini wrote: 7. Exclusive checkouts are stupid, and not scalable (in terms of staff size). Run away from any SCC that works only with exclusive checkouts. VSS allows multiple checkouts.
-
Defending VSS... Daniel Turini wrote: 1. What's the format of the storage? Beware of proprietary formats like the one VSS uses. When you have a corrupt repository, this makes all the difference. Or a better approach might be to not worry about the repository format, if it doesn't corrupt. We've been using VSS for 9 years here (with histories going back that far for some projects), and we've had one problem. We restored from backups - that's what they're there for. Daniel Turini wrote: 3. Client-server operation is a must, as you already did notice. Anything that is not client/server doesn't have performance for this. The VSS model is fine, if your network performance is OK. Daniel Turini wrote: 7. Exclusive checkouts are stupid, and not scalable (in terms of staff size). Run away from any SCC that works only with exclusive checkouts. VSS allows multiple checkouts.
Graham Bradshaw wrote: Or a better approach might be to not worry about the repository format, if it doesn't corrupt. We've been using VSS for 9 years here (with histories going back that far for some projects), and we've had one problem. We restored from backups - that's what they're there for. We had corruption problems every week (on average) with VSS here. Have you run analyze.exe lately? Do you get really old versions often? If you answered no to those questions, that's why you think you never had a corruption problem in 9 years. :) And backups are for hardware problems. Graham Bradshaw wrote: The VSS model is fine, if your network performance is OK. Sure. Next time someone mentions Oracle or SQL Server, suggest Access. Try to "get latest version" on a 1GB repository over a fast VPN. With VSS, this took a whole night (I'm not kidding). With CVS, this takes less than 1 minute, because only the query and changed data is sent. Client-server access is a must, really. If any of your client machines have a bad memory chip, your repository is gone. Graham Bradshaw wrote: VSS allows multiple checkouts. I never said the opposite. Yes, even I am blogging now!
-
What's your experience with Source Code Control? I've used (briefly) VSS (may it forever keep a large distance from me) then we used SourceGear's Vault (nice, good integration, had issues - probably user issues - while working remote), and now we're trying ionForge Evolution. It looks promising, has all the stuff for remote work so Paul, Nish, Smitha and I can do our coding thing scattered on the four winds, and has VS.NET integration. Small frowns are appearing as I read about "Productions" and "Sub-Productions" instead of projects and workspaces, but it looks good so far. I mean, I know when I code it can be a bit of a production (maybe a comedy?) but still... So, anyone use other SCC systems? CVS? cheers, Chris Maunder
I'm using Subversion and have been using if for about a year now within my team. I'm still on version 1.0.0 and haven't spotted any bugs yet!! I primarily chose Subversion as you don't have to be online to the repository all the time, something which is essential for remote workers. I use it over a dialup and VPN connection and it works a treat - really fast. Its easy to set up also on both Windows and Penguin servers (if they take your fancy!). In the past I've predominantly used VSS, although not remotely. I didn't have many problems with it (apart from user accounts going missing), so I guess I was lucky ;)
-
What's your experience with Source Code Control? I've used (briefly) VSS (may it forever keep a large distance from me) then we used SourceGear's Vault (nice, good integration, had issues - probably user issues - while working remote), and now we're trying ionForge Evolution. It looks promising, has all the stuff for remote work so Paul, Nish, Smitha and I can do our coding thing scattered on the four winds, and has VS.NET integration. Small frowns are appearing as I read about "Productions" and "Sub-Productions" instead of projects and workspaces, but it looks good so far. I mean, I know when I code it can be a bit of a production (maybe a comedy?) but still... So, anyone use other SCC systems? CVS? cheers, Chris Maunder
Check out darcs, it's free
-
What's your experience with Source Code Control? I've used (briefly) VSS (may it forever keep a large distance from me) then we used SourceGear's Vault (nice, good integration, had issues - probably user issues - while working remote), and now we're trying ionForge Evolution. It looks promising, has all the stuff for remote work so Paul, Nish, Smitha and I can do our coding thing scattered on the four winds, and has VS.NET integration. Small frowns are appearing as I read about "Productions" and "Sub-Productions" instead of projects and workspaces, but it looks good so far. I mean, I know when I code it can be a bit of a production (maybe a comedy?) but still... So, anyone use other SCC systems? CVS? cheers, Chris Maunder
In the past I have used VSS a lot with some corruption problems as have been mentioned here. For the past year I have benn on a project where the company uses PerForce. It took some getting use to (a lot different than VSS) but now that I have finally have it figured out, it's been pretty good. It works fine remotely and on all different platforms. I think it's $$$ though. --Rob
-
What's your experience with Source Code Control? I've used (briefly) VSS (may it forever keep a large distance from me) then we used SourceGear's Vault (nice, good integration, had issues - probably user issues - while working remote), and now we're trying ionForge Evolution. It looks promising, has all the stuff for remote work so Paul, Nish, Smitha and I can do our coding thing scattered on the four winds, and has VS.NET integration. Small frowns are appearing as I read about "Productions" and "Sub-Productions" instead of projects and workspaces, but it looks good so far. I mean, I know when I code it can be a bit of a production (maybe a comedy?) but still... So, anyone use other SCC systems? CVS? cheers, Chris Maunder
I run into this exact same problem. I'm using CVSNT right now but only becuase there doesn't seem to be anything else that's good, easy to use and not rediculously expensive. I tried perforce but it was too complicated for what should be easy tasks. Vss is a piece of junk. Seapine is confusing and overpriced. My biggest gripes about cvs are that to move a directory I have to go to the server and move it manually and managing access permissions for directories is a major chore.
-
Defending VSS... Daniel Turini wrote: 1. What's the format of the storage? Beware of proprietary formats like the one VSS uses. When you have a corrupt repository, this makes all the difference. Or a better approach might be to not worry about the repository format, if it doesn't corrupt. We've been using VSS for 9 years here (with histories going back that far for some projects), and we've had one problem. We restored from backups - that's what they're there for. Daniel Turini wrote: 3. Client-server operation is a must, as you already did notice. Anything that is not client/server doesn't have performance for this. The VSS model is fine, if your network performance is OK. Daniel Turini wrote: 7. Exclusive checkouts are stupid, and not scalable (in terms of staff size). Run away from any SCC that works only with exclusive checkouts. VSS allows multiple checkouts.
As far as getting a corrupt VSS "database" it depends on the features that you use. Things like labels and sharing files tend to corrupt the databae much more often. If you just do simple check in check out operations, VSS is much more stable. The VSS "client/server" model works fine on low-latency networks. However, it is very network unfriendly since it requires touching multiple files on the server using windows networking for most operations. This is extremely slow on anything but an intranet. Also, database security is horrible since you need to either give full control to the database files, or manage file level permission for even read only access from the client. If you can live with those risks and more, then VSS is great!
I can imagine the sinking feeling one would have after ordering my book, only to find a laughably ridiculous theory with demented logic once the book arrives - Mark McCutcheon
-
What's your experience with Source Code Control? I've used (briefly) VSS (may it forever keep a large distance from me) then we used SourceGear's Vault (nice, good integration, had issues - probably user issues - while working remote), and now we're trying ionForge Evolution. It looks promising, has all the stuff for remote work so Paul, Nish, Smitha and I can do our coding thing scattered on the four winds, and has VS.NET integration. Small frowns are appearing as I read about "Productions" and "Sub-Productions" instead of projects and workspaces, but it looks good so far. I mean, I know when I code it can be a bit of a production (maybe a comedy?) but still... So, anyone use other SCC systems? CVS? cheers, Chris Maunder
We're using CVS at the office. We used to use VSS, but after code got lost in it, we switched over to CVS. With WinCVS I don't see any advantages of VSS over CVS. Combined with SSH, it's possible to work securely from home as well. Whenever subversion and tools become mature enough, I'm considering converting the CVS repository to subversion. Renaming and moval of modules is a real goodie which CVS unfortunately doesn't support. -- Weiter, weiter, ins verderben. Wir müssen leben bis wir sterben. I blog too now[^]
-
We're using Sourcesafe atm, but it sucks (and that's when I'm being nice to it). I've used CVS extensively, but if I had to set up a new server new I'd go with subversion, it fixes CVS's problems. Is cross-platform, too. For a comparison of source control systems, see http://better-scm.berlios.de/comparison/comparison.html.
Unfortunately there's not yet any real GUIs for subversion. Java isn't executing on my machine unless I've got a gun pointed at me. :suss: -- Weiter, weiter, ins verderben. Wir müssen leben bis wir sterben. I blog too now[^]
-
What's your experience with Source Code Control? I've used (briefly) VSS (may it forever keep a large distance from me) then we used SourceGear's Vault (nice, good integration, had issues - probably user issues - while working remote), and now we're trying ionForge Evolution. It looks promising, has all the stuff for remote work so Paul, Nish, Smitha and I can do our coding thing scattered on the four winds, and has VS.NET integration. Small frowns are appearing as I read about "Productions" and "Sub-Productions" instead of projects and workspaces, but it looks good so far. I mean, I know when I code it can be a bit of a production (maybe a comedy?) but still... So, anyone use other SCC systems? CVS? cheers, Chris Maunder
If you're using windows, there's a great source control util called xcopy. :rolleyes: You can use it like this:
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.C:\Documents and Settings\stormwa>xcopy /?
Copies files and directory trees.XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
[/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
[/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]
[/EXCLUDE:file1[+file2][+file3]...]source Specifies the file(s) to copy.
destination Specifies the location and/or name of new files.
/A Copies only files with the archive attribute set,
doesn't change the attribute.
/M Copies only files with the archive attribute set,
turns off the archive attribute.
/D:m-d-y Copies files changed on or after the specified date.
If no date is given, copies only those files whose
source time is newer than the destination time.
/EXCLUDE:file1[+file2][+file3]...
Specifies a list of files containing strings. Each string
should be in a separate line in the files. When any of the
strings match any part of the absolute path of the file to be
copied, that file will be excluded from being copied. For
example, specifying a string like \obj\ or .obj will exclude
all files underneath the directory obj or all files with the
.obj extension respectively.
/P Prompts you before creating each destination file.
/S Copies directories and subdirectories except empty ones.
/E Copies directories and subdirectories, including empty ones.
Same as /S /E. May be used to modify /T.
/V Verifies each new file.
/W Prompts you to press a key before copying.
/C Continues copying even if errors occur.
/I If destination does not exist and copying more than one file,
assumes that destination must be a directory.
/Q Does not display file names while copying.
/F Displays full source and destination file names while copying.
/L Displays files that would be copied.
/G Allows the copying of encrypted files to destination that does
not support encryption.
/H Copies hidden and -
What's your experience with Source Code Control? I've used (briefly) VSS (may it forever keep a large distance from me) then we used SourceGear's Vault (nice, good integration, had issues - probably user issues - while working remote), and now we're trying ionForge Evolution. It looks promising, has all the stuff for remote work so Paul, Nish, Smitha and I can do our coding thing scattered on the four winds, and has VS.NET integration. Small frowns are appearing as I read about "Productions" and "Sub-Productions" instead of projects and workspaces, but it looks good so far. I mean, I know when I code it can be a bit of a production (maybe a comedy?) but still... So, anyone use other SCC systems? CVS? cheers, Chris Maunder
I've worked with the following SCC systems: 1) VSS - It is tolerable for small teams. The important thing is to regularly check and fix the databases for corruption. When I got in charge of some VSS databases, I wrote Perl scripts to do it for me, and it pretty much works fine now (me knocking on the wood). 2) Rational ClearCase. This is a strange beast: full of features (most of which I had no idea how to use), needs a competent full-time administrator (which we didn't have) or you will experience long downtimes (which we did). UI is horrible, it is very expensive, but I know some people who just adore it :suss: Anyway, when we switched back to VSS, we had an office party. 3) Subversion - I used it on my home machine and plan to use it again. It felt funny at the beginning, because of the way it handles branching and labeling, but once I got used to it, I really started to like it. However, I've never used it remotely or within a team, and I don't know how it behaves in such environments. Anyway, I've heard Microsoft is preparing a "real" SCC for VS 2005, and I hope to convince my managers to switch to it once it is out.
My programming blahblahblah blog. If you ever find anything useful here, please let me know to remove it.
-
Unfortunately there's not yet any real GUIs for subversion. Java isn't executing on my machine unless I've got a gun pointed at me. :suss: -- Weiter, weiter, ins verderben. Wir müssen leben bis wir sterben. I blog too now[^]
Finished with your Java development then? Regards, Brian Dela :-) Now Bloging![^]
-
Graham Bradshaw wrote: Or a better approach might be to not worry about the repository format, if it doesn't corrupt. We've been using VSS for 9 years here (with histories going back that far for some projects), and we've had one problem. We restored from backups - that's what they're there for. We had corruption problems every week (on average) with VSS here. Have you run analyze.exe lately? Do you get really old versions often? If you answered no to those questions, that's why you think you never had a corruption problem in 9 years. :) And backups are for hardware problems. Graham Bradshaw wrote: The VSS model is fine, if your network performance is OK. Sure. Next time someone mentions Oracle or SQL Server, suggest Access. Try to "get latest version" on a 1GB repository over a fast VPN. With VSS, this took a whole night (I'm not kidding). With CVS, this takes less than 1 minute, because only the query and changed data is sent. Client-server access is a must, really. If any of your client machines have a bad memory chip, your repository is gone. Graham Bradshaw wrote: VSS allows multiple checkouts. I never said the opposite. Yes, even I am blogging now!
Daniel Turini wrote: And backups are for hardware problems. So, if backups are for hardware problems, what's your solution when human error is involved, such as overwriting a file? What do you use (other than a backup)? Daniel Turini wrote: Try to "get latest version" on a 1GB repository over a fast VPN. My whole point was that VSS is fine on *fast* networks. How fast is the VPN? Our development network here is Gigabit ethernet, full duplex. No, we don't have a speed issue, but we have the bandwidth (and a high performance file server on the other end).
-
What's your experience with Source Code Control? I've used (briefly) VSS (may it forever keep a large distance from me) then we used SourceGear's Vault (nice, good integration, had issues - probably user issues - while working remote), and now we're trying ionForge Evolution. It looks promising, has all the stuff for remote work so Paul, Nish, Smitha and I can do our coding thing scattered on the four winds, and has VS.NET integration. Small frowns are appearing as I read about "Productions" and "Sub-Productions" instead of projects and workspaces, but it looks good so far. I mean, I know when I code it can be a bit of a production (maybe a comedy?) but still... So, anyone use other SCC systems? CVS? cheers, Chris Maunder
I haven't used it in a large group but I've been really happy with Perforce. It has been designed for use over TCP/IP so you will probably get good performance over the net. Free for up to 2 users.
Lets be honest, isn't it amazing how many truly stupid people you meet during the course of the day. Carry around a pad and pencil, you'll have twenty or thirty names by the end of the day - George Carlin Awasu 2.0.3 [^]: A free RSS reader with support for Code Project.
-
What's your experience with Source Code Control? I've used (briefly) VSS (may it forever keep a large distance from me) then we used SourceGear's Vault (nice, good integration, had issues - probably user issues - while working remote), and now we're trying ionForge Evolution. It looks promising, has all the stuff for remote work so Paul, Nish, Smitha and I can do our coding thing scattered on the four winds, and has VS.NET integration. Small frowns are appearing as I read about "Productions" and "Sub-Productions" instead of projects and workspaces, but it looks good so far. I mean, I know when I code it can be a bit of a production (maybe a comedy?) but still... So, anyone use other SCC systems? CVS? cheers, Chris Maunder
Heh heh, our source code control system is a spiral notebook where we each write what we worked on. We have a small shop and looked at all sorts of other options, but it always came back to being much simpler to say "ok, you take the blah blah blah forms and I'll work on the blah blah blah business objects and we'll merge them this afternoon" Then we simply hand copy the various .cs and assorted project files into a single project based on their date and what was noted. So far so good. It's simply a matter of good co-ordination and having a very small number of programmers. I looked at VSS but it uses JET and seems to have more bugs than a bait shop according to my time honoured method of reading between the lines in the FAQ which contains a ton of references to resolving database problems which is a headache we don't have time for.
-
I've worked with the following SCC systems: 1) VSS - It is tolerable for small teams. The important thing is to regularly check and fix the databases for corruption. When I got in charge of some VSS databases, I wrote Perl scripts to do it for me, and it pretty much works fine now (me knocking on the wood). 2) Rational ClearCase. This is a strange beast: full of features (most of which I had no idea how to use), needs a competent full-time administrator (which we didn't have) or you will experience long downtimes (which we did). UI is horrible, it is very expensive, but I know some people who just adore it :suss: Anyway, when we switched back to VSS, we had an office party. 3) Subversion - I used it on my home machine and plan to use it again. It felt funny at the beginning, because of the way it handles branching and labeling, but once I got used to it, I really started to like it. However, I've never used it remotely or within a team, and I don't know how it behaves in such environments. Anyway, I've heard Microsoft is preparing a "real" SCC for VS 2005, and I hope to convince my managers to switch to it once it is out.
My programming blahblahblah blog. If you ever find anything useful here, please let me know to remove it.
-
Defending VSS... Daniel Turini wrote: 1. What's the format of the storage? Beware of proprietary formats like the one VSS uses. When you have a corrupt repository, this makes all the difference. Or a better approach might be to not worry about the repository format, if it doesn't corrupt. We've been using VSS for 9 years here (with histories going back that far for some projects), and we've had one problem. We restored from backups - that's what they're there for. Daniel Turini wrote: 3. Client-server operation is a must, as you already did notice. Anything that is not client/server doesn't have performance for this. The VSS model is fine, if your network performance is OK. Daniel Turini wrote: 7. Exclusive checkouts are stupid, and not scalable (in terms of staff size). Run away from any SCC that works only with exclusive checkouts. VSS allows multiple checkouts.
Graham Bradshaw wrote: The VSS model is fine, if your network performance is OK The VSS model breaks down rather quickly based upon network turnaround time. VSS uses a large number of small transactions when it interacts with the 'data base'. On a local network this is OK. In our experience, where we've got offices in Japan and Switzerland, it's impossible. Even though our Japanese folks have a T-1, their SourceSafe transactions require anywhere from 10-200 times the amount of time we see locally. A client-server implementation would see much better performance, since it would not be routing file system transactions over the network.
Software Zen:
delete this;
-
If you're using windows, there's a great source control util called xcopy. :rolleyes: You can use it like this:
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.C:\Documents and Settings\stormwa>xcopy /?
Copies files and directory trees.XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
[/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
[/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]
[/EXCLUDE:file1[+file2][+file3]...]source Specifies the file(s) to copy.
destination Specifies the location and/or name of new files.
/A Copies only files with the archive attribute set,
doesn't change the attribute.
/M Copies only files with the archive attribute set,
turns off the archive attribute.
/D:m-d-y Copies files changed on or after the specified date.
If no date is given, copies only those files whose
source time is newer than the destination time.
/EXCLUDE:file1[+file2][+file3]...
Specifies a list of files containing strings. Each string
should be in a separate line in the files. When any of the
strings match any part of the absolute path of the file to be
copied, that file will be excluded from being copied. For
example, specifying a string like \obj\ or .obj will exclude
all files underneath the directory obj or all files with the
.obj extension respectively.
/P Prompts you before creating each destination file.
/S Copies directories and subdirectories except empty ones.
/E Copies directories and subdirectories, including empty ones.
Same as /S /E. May be used to modify /T.
/V Verifies each new file.
/W Prompts you to press a key before copying.
/C Continues copying even if errors occur.
/I If destination does not exist and copying more than one file,
assumes that destination must be a directory.
/Q Does not display file names while copying.
/F Displays full source and destination file names while copying.
/L Displays files that would be copied.
/G Allows the copying of encrypted files to destination that does
not support encryption.
/H Copies hidden andYour report card held the comment "Does not program well with others", didn't it? ;)
Software Zen:
delete this;