The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Suggest any Source Control Software

Please suggest any Source Control Software which can work over a network. Opensource will be great.

Thanks,
Zeeshan
Zeeshan Alam Send private email
Monday, July 31, 2006
 
 
Subversion.
John Topley Send private email
Monday, July 31, 2006
 
 
Is there a patch for the forum software that can just answer subversion whenever anyone asks this question?

To be helpfull, subversion is a better CVS. It has a check out all the source - work on them - integrate changes model rather than the locking model of CVs/RCS/VSS

It is opensource and available on most platforms.
You can run it with a web server or it has a simple standalone server. It can also run directly to disk files.
There is a nice shell integration called tortoise, there is an ok VS integration called Ankhsvn but most people don't use it.
Martin Send private email
Monday, July 31, 2006
 
 
ps -
At least skim the free online subversion book before creating the repository, it helps to design the branch structure correctly at the start.

Use file mode rather than db mode if you aren't a full time admin.

It isn't easy (still?) to integrate with windows passwords so you have to create a simple password file if you want to control access.
Martin Send private email
Monday, July 31, 2006
 
 
I found a decent way to integrate with Windows passwords.  Set up an Apache server on Windows, using the WebDAV extension for SVN.  Add the mod_auth_sspi module.  Now you have integrated passwords and nothing could be easier. 

If you also need to run IIS on that machine you can move Apache to port 8080, which is how I handled it.
Clay Dowling Send private email
Monday, July 31, 2006
 
 
Subversion is not as good as CVS in one way, and that might be important for you -- it is for me.

CVS has a 'modules' file that lets you define modules (projects, essentially) in terms of other modules.  You can have a library module that is a component of several top-level project modules.  And that library might itself be composed of several sub-projects.  This encourages reuse of library code.  Subversion has a kludgey "externals" feature (you can call a library an "external" component of a project) but if the library is updated, your project won't automatically get the new code. So the externals mechanism in subversion isn't quite good enough.

Unfortunately, this is a deal-breaker for me, so I continue to use CVS, even though subversion has several other important advantages over CVS.
William Dowling Send private email
Monday, July 31, 2006
 
 
"Set up an Apache server on Windows, using the WebDAV extension for SVN.  Add the mod_auth_sspi module.  Now you have integrated passwords and nothing could be easier.  "

Obviously a whole new definiation of the word easy I wasn't previously aware of.
Arthur Dent Send private email
Monday, July 31, 2006
 
 
Actually, that is the industry-standard open-source definition of "easy".

At least there is no talk of recompiling kernels ;-)
Arethuza Send private email
Monday, July 31, 2006
 
 
>>but if the library is updated, your project won't automatically get the new code.

This is not true. If you do not use -r to reference an external project, you receive the most recent update once you run svn update.

This feature actually causes problem because it does not store revision number. We have to explicitely set the revsion number so we can always get back to the state where we build past release for external libs.
Burner
Monday, July 31, 2006
 
 
William, I was a very heavy user of the CVS modules feature as well (same idea, shared library code).  The Subversion externals feature works extremely well for me (at least with the last TortioseSVN).  Updating the root of the project tree updates all the externals and committing the root of the project tree commits all the externals.  So it basically works exactly the same as modules do in CVS.  I believe the manual says that externals are not updated/commited so it's either out of date or TortioseSVN handles it differently.

The SVN externals, now that it works correctly, seems to be much better than CVS modules in that they are much easier to setup.
Almost H. Anonymous Send private email
Tuesday, August 01, 2006
 
 
To be fair to our hosts I should suggest you also look at Source Gear www.sourcegear.com if your needs are more complicated or you want a company to support you.

No personal experience of the product though.
Martin Send private email
Tuesday, August 01, 2006
 
 
Could there be a JoS FAQ or Wiki with these kinds of recurring questions?
Flow
Tuesday, August 01, 2006
 
 
AHA:  Thanks for the update -- it's been almost a year since I last looked at svn, so maybe this is fixed now, or maybe I was just ready to believe the doc at the time.  TortoiseSVN is a Windows client for svn, is it not? (I work in a Unix shop so haven't looked to much on the Windows side.) I would guess this is a server/engine side issue, so the client software wouldn't have much bearing, right?
William Dowling Send private email
Tuesday, August 01, 2006
 
 
Perforce!
Wayne B
Tuesday, August 01, 2006
 
 
Delphi!

Oops, sorry, wrong thread :-)
TheFred
Wednesday, August 02, 2006
 
 
Yeah, my definition of easy doesn't involve a GUI interface.  Mostly because those tend to make my life harder, not easier.

But by easy, I meant that all I had to do was copy a couple of files into the right folder and add the text from the INSTALL document into my config file.

If you've ever tried to configure Samba, or for that matter walk somebody through an IIS configuration for a CGI program, you'll understand that this is easy.  Much easier than IIS configuration.
Clay Dowling Send private email
Wednesday, August 02, 2006
 
 
"I would guess this is a server/engine side issue, so the client software wouldn't have much bearing, right?"

Actually, it's entirely a client issue.  Externals are entirely handled by the client.  This may have been something that was changes and now all SVN clients do it correctly -- I haven't tried it on unix.

However, if you're on Unix, you could easily write your own little script that wraps the svn client to commit the externals correctly (update always works).
Almost H. Anonymous Send private email
Wednesday, August 02, 2006
 
 
The Perforce answer again, with the note that it is free for a small number of users (check their site) or for opensource products.
nobody
Wednesday, August 02, 2006
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz