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
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;
-
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
Perforce is my favorite, but I'm thinking of trying out Vault sometime. I used to Perforce and can list dozens of reason why I prefer it to VSS. VSS is evil. We use it at work for ~20 devs, which is way too many. The kindest thing you can do for a stupid person, and for the gene pool, is to let him expire of his own dumb choices. [Roger Wright on stupid people] We're like private member functions [John Theal on R&D] We're figuring out the parent thing as we go though. Kinda like setting up Linux for the first time ya' know... [Nitron]