I need your advise about svn and bug tracking systems
we are a starting company in Egypt, the number of employees is about 20 employe开发者_运维知识库e , what we are really need is :
- bug tracing system
- we have a server and we want to manage our source code in our local server , so we want subversion server to install and allow all users to access the local server and commit, update and make version management
- every employee will have a svn client
- we want also task management to let managers to divide tasks and assign them to employees
I have served the internet and i have found a lot of options like (Trac , VisualSVN ,CVS , etc) but i don't really understand the difference between SVN , CVS and if there are some other options open source application that we can use , and how to make them all work together
please is any one can help reply as soon as he/she can
Thanks in Advance
CVS is outdated. Your real requirement should be, if you want to use Subversion, the dominant centralized VCS or many of the DVCS in vogue like Git or Mercurial.
Typically companies prefer centralized version control where you commit to centralized subversion repository or work on peer to peer model as with Git or Mercurial. How ever, open source community, popularity of github, codeplex, code.google.com and bitbucket places the excitement in hands of DVCSs.
Almost all version controls comes with IDE integration - VisualHG, VisualSVN, .. etc. Of course, the subversion visual tools are more mature and has been around for some time.
Trac is an enhanced wiki and issue tracking system and has integration support with both Subversion and Mercurial, so that should not be an issue.
There are quite some discussion in SO on this subject and literature on the web.
You can look into weaknesses of subversion, specially weak merging / difficult branching abilities and also how some of these DVCSes overcome them.
I would seriously consider Mercurial. It's distributed source control system providing the same functionality as any of the systems but bolsters completely connectionless environment. What it means is this. Classically there is one common server, the source. Client connect to is, create snapshots, modify files and check them back into the server again. This means you have to be online and the server has to be online.
With Mercurial it's different. Yes, there still is a master copy. However before going to there, the code is actually checked in locally. This means there is absolute freedom in how many changes you made before the code end up everywhere. Branching is very simple and effective as well... Well, I just suggest before you make your choice and pick SVN or CVS or Perforce or, God forbid, TFS, carefully consider Mercurial as well.
As for bug tracking, Jira is a system widely used by most of small companies. Very effective, highly customizable, fit for SCRUM, supports workflow, lots of plugins and easy integration with Fisheye, etc.
精彩评论