Software configuration management

In summary, the conversation discusses the search for a good, free, distributed Unix/Linux based software CM tool (or set of tools) that covers change/defect management, revision management, and release management. The tools being considered are Trac, Bugzilla, and Mantis for change management, and git and Subversion for revision management and build management. The conversation also touches on integrating these tools and the opinions of developers and integrators on them. Suggestions for other tools, such as Fogbugz, are also mentioned. The challenges of dealing with an existing, inefficient CM system and the limitations of using hosted CM systems are also discussed. Finally, the conversation mentions that SourceForge is now proprietary and provides alternative options for hosting CM
  • #1
D H
Staff Emeritus
Science Advisor
Insights Author
15,464
690
I am looking for a good, free, distributed Unix/Linux based software CM tool (or set of tools). I want the tool to cover the three main areas of sofware CM: change/defect management, revision management, and release management. I am looking at Trac, Bugzilla, and Mantis for change management and git and Subversion for revision management and build management.

Anyone here have comments about
  • Trac versus Mantis versus Bugzilla. Anyone with experience with one or more, chime in.
  • git versus Subversion. Ditto on chiming in.
  • Integrating Trac/Mantis/Bugzilla with git/Subversion. Seamless or painful? Can developers still get the job done?
  • Other tools. Did I miss something? I have culled a lot of tools out. Maybe I trimmed too much.

This is a small but rigorous development project. I know what I do not want:
  • A tool overladen with process superfluous to a small project.
  • A tool that doesn't support any process whatsoever.
  • A tool that treats developers like scum (the integrator's dream tool).
  • A tool that treats integrators as an unneeded appendage (the developer's dream tool).
  • A tool (or set of tools) that does not address change management, revision management, and release management.

Thanks in advance,
DH
 
Technology news on Phys.org
  • #2
D H said:
[*]Trac versus Mantis versus Bugzilla. Anyone with experience with one or more, chime in.
For a large/hosted project, whatever sourceforge uses.
For a small/in house project look at Fogbugz - it's commercial (used to be a free single user license for small devs?) but pretty cheap.

[*]git versus Subversion. Ditto on chiming in.
Subversion unless you have a good reason not to. Reliable, well known, well supported.
[*]Integrating Trac/Mantis/Bugzilla with git/Subversion. Seamless or painful? Can developers still get the job done?
I didn't bother, it seemed like a lot of effort and I like small granularity checkins.
 
  • #3
A little background: We have an existing CM system that does issue tracking (change management), version control, and release management. It doesn't do anyone of those things well, but it does address those three key aspects of CM. The integrators seem to love the existing CM system, mainly because integrators are [noparse][expletive deleted][/noparse]. Developers hate it, and with very good reason. It is one of the worst software tools ever devised by man.

A few of us finally managed to get management to let us look at free alternatives -- if they are free. Things were going along smoothly until some of the more renegade developers said we shouldn't use Trac, we should use git. This was a bolt out of the blue; git is a revision management tool, not a configuration management tool. Not only was it a bolt out of the blue, it came from the group I am trying to help. So here I am, back to square one.

mgb_phys said:
For a large/hosted project, whatever sourceforge uses.
That is out for many reasons.
For a small/in house project look at Fogbugz - it's commercial (used to be a free single user license for small devs?) but pretty cheap.
Thanks. I'll add that to the list.

Subversion unless you have a good reason not to. Reliable, well known, well supported.
That was my choice. Subversion tried to do CVS the right way. The anti-CVS crowd hates CVS with a passion, a passion that apparently extends to Subversion.
 
  • #4
For a very large project the 'checkin-conflict-merge' of CVs/SVN isn't the best, that's why the Linux kernel and a few big projects don't use it. For 'normal' size groups it is, as you say, CVS done right.

I didn't mean you had to host on sourceforge, I thought the system behind sourceforge used to be available for you host yourself ? Can't find any details so I might be going senile.

General advice would be one step at a time, get the source control moved over, then add bug tracking, then add integration/reporting etc.
 
  • #5
Our group is kinda on loan from one organization to another. The target org has very nice hardware, very sharp people, but mediocre tools, including the worst CM system on the planet (and it costs $600 or so per seat!) This tool's only saving grace is that it does integrate issue tracking, version control, and build management. That it does an incredibly poor job at all three and does a downright attrocious job at version control doesn't matter. That there are no atomic operations doesn't matter. It integrates!

Our parent org better tools. We our doing initial development using one of the slickest (and most expensive) revision management tools ever. We will eventually have to move over to the other org, which we can hopefully lift out of the stone age. This other org is a bit stingy when it comes to tools. They wouldn't budge on moving to the gold-plated tools. So, we asked, could we move to some better tools that are free? Hence my search.

==================================================================

SourceForge is now proprietary. Three free forks were split off when SourceForge went proprietary. Two aren't well supported and the third is in C# and ASP.NET. The target environment is Linux, so C#/ASP.NET is not a good choice.
 
  • #6
what software did you choose?

our team is also searching for a CM system now. we are comparing SCM Anywhere and hosting SVN+Bugzilla
 

Related to Software configuration management

1. What is software configuration management?

Software configuration management (SCM) is a set of practices and tools used to manage changes to software systems throughout their development lifecycle. This includes version control, build automation, and release management.

2. Why is software configuration management important?

SCM is important because it helps ensure that software development is systematic, controlled, and efficient. It allows teams to track changes and collaborate effectively, resulting in higher quality software and faster delivery times.

3. What is the difference between version control and software configuration management?

Version control is a component of SCM that manages changes to individual files and tracks different versions of the same file. SCM, on the other hand, encompasses a broader set of practices and tools that manage changes to the entire software system.

4. What are some common tools used for software configuration management?

Some common tools for SCM include Git, Subversion, Mercurial, and CVS. These are all version control systems, but there are also other tools specifically designed for SCM, such as Jenkins, Puppet, and Ansible.

5. How does software configuration management impact software development teams?

SCM impacts software development teams by providing a structured and organized approach to managing changes. It allows teams to collaborate effectively and reduces the risk of errors and conflicts. SCM also enables teams to maintain a clear record of changes, making it easier to troubleshoot issues and roll back to previous versions if necessary.

Similar threads

  • Programming and Computer Science
Replies
2
Views
3K
Replies
16
Views
2K
Replies
21
Views
11K
Back
Top