What Source Control and issue tracking system would you choose today?
-
Fourthed. I use it at work (large company, enterprise software development) and for myself (1 person shop). /ravi
My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com
Something that comes after 4th (I'm wearing mittens so counting function in maintenance mode)
cheers Chris Maunder
-
Yes, I know the question has been asked before, but things change and so does opinions. I have finally been tasked with exchanging our stone age CVS system and to implement an issue tracking system at the same time. ... And I just removed half a book of what I've looked at and how I reason about my choices, because I realize that I should get your "unbiased" opinions. :rolleyes: <edit>We're a small shop doing mainly Asp.Net and forms with Oracle as backend DB</edit>
Wrong is evil and must be defeated. - Jeff Ello
At work, TFS for our C# code. SVN for our iOS/Phonegap code. At home Git via BitBucket. Previous job we used Git with JIRA. I'll say this, Git (although can be difficult for some when using command-line only version) paired with JIRA was phenomenal. I love JIRA, so easy to use, and easy on the eye. We used Jenkins for our build process. I'm not a fan of TFS/TF build process.
-
I'm surprised git didn't come up earlier in this thread. GIT is a basterd to learn. Haven't found any tool that spares you learning the command line, the Linux culture is strong in this - and grating. Change in mindset may be steep. Yet it also allows a few workflows that feel like magic. For me, the biggest feature is interactive rebase: allows you to commit frequently and "dirty", then reorganize and clean the history before publishing it to public. Conceptually, many commands do not operate on verisons, but on changes between versions - such as cherry-pick and rebase to move changes from one branch to another. git blame is great for those "where the eff does this line come from?" moments. It does change your workflow in a way I would miss with another tool.
peterchen wrote:
Haven't found any tool that spares you learning the command line, the Linux culture is strong in this - and grating.
It doesn't completely spare you, but source tree is good enough that my web designer wife doesn't have much trouble with git, and BTW don't ever get in a situation where your wife is on you about committing code.
Curvature of the Mind now with 3D
-
We're a very small shop with an IT department that just shrunk to below ten people, but the number of people that should be able to write tickets counts in thousands. We're exclusively doing Visual Studio for the foreseeable future.
Wrong is evil and must be defeated. - Jeff Ello
Jörgen Andersson wrote:
We're exclusively doing Visual Studio for the foreseeable future.
TFS (sixthed?)
-
Yes, I know the question has been asked before, but things change and so does opinions. I have finally been tasked with exchanging our stone age CVS system and to implement an issue tracking system at the same time. ... And I just removed half a book of what I've looked at and how I reason about my choices, because I realize that I should get your "unbiased" opinions. :rolleyes: <edit>We're a small shop doing mainly Asp.Net and forms with Oracle as backend DB</edit>
Wrong is evil and must be defeated. - Jeff Ello
-
I'm surprised git didn't come up earlier in this thread. GIT is a basterd to learn. Haven't found any tool that spares you learning the command line, the Linux culture is strong in this - and grating. Change in mindset may be steep. Yet it also allows a few workflows that feel like magic. For me, the biggest feature is interactive rebase: allows you to commit frequently and "dirty", then reorganize and clean the history before publishing it to public. Conceptually, many commands do not operate on verisons, but on changes between versions - such as cherry-pick and rebase to move changes from one branch to another. git blame is great for those "where the eff does this line come from?" moments. It does change your workflow in a way I would miss with another tool.
I think the only time I touched the git shell while using TortoiseGIT on a few small projects was when working with someone who used the CLI version; at which point to get something I didn't know how to do done the 1st time it was easier to type his magic in now and find the equivalent in Tortoise later.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt
-
Yes, I know the question has been asked before, but things change and so does opinions. I have finally been tasked with exchanging our stone age CVS system and to implement an issue tracking system at the same time. ... And I just removed half a book of what I've looked at and how I reason about my choices, because I realize that I should get your "unbiased" opinions. :rolleyes: <edit>We're a small shop doing mainly Asp.Net and forms with Oracle as backend DB</edit>
Wrong is evil and must be defeated. - Jeff Ello
Not TFS. Probably SVN and jira. TFS tries to be too much, and isn't great at any particular thing. Sure, it's o.k. revision control. And it's o.k. for issue tracking and time tracking. However, let's say (for example), you enter something as a bug, but later decide it's really a feature request. Sorry, you can't change the type. Go enter a new item. I understand on some level, the type is tied to paths through the system, but that's frustrating. If they can't get something as (seemingly) small as changing a type attribute to work, how much faith do you want to put in the rest of their tools? Maybe it's just been the administrators I've worked with, but places with TFS have had more problems with the repository acting strange than those with SVN or git, where it just cruises along. Though I must admin TFS has made huge improvements in the more recent versions on this reliability aspect. For SVN vs git, I like git's local repo; I can check in some changes to have a 'go back to' point when working on a complex, multi-step implementation without affecting the source repository. However, I don't feel like the tools are there like they are with SVN for ease-of-use for most developers (myself especially). I think I'd go with SVN with the Tortoise add-ons for windows. For issue tracking, seems like jira worked pretty well, but it's been quite a while since I used it. Same with FogBugz. We currently use the built-in TFS stuff, which I don't really care for. It gets the job done, as long as you follow Microsoft's ideas pretty closely, but I'm not a fan. Again, little things. A task has a single text box where you enter the time spent. It doesn't track by segments (i.e., I worked on this from 3-4:30 on Monday, and 10-11:15 on Tuesday. It's just 2.75 hours). IDK, I don't know that level of precision is really useful, but when I think about tracking time, I think of it in terms of start and stop times, not making the user enter a single total. Also interface not great. Cut-and-paste from (say) SQL server management studio into the comment box; font/color changes to your source, but there's nothing on editing tools which allows you to set it back to TFS' normal font/color. Again, can't get the little things right, how can we expect them to get the big things right? But it's fair to say these are nitpicks. Maybe they color my views of TFS more than they should.
-
peterchen wrote:
Haven't found any tool that spares you learning the command line, the Linux culture is strong in this - and grating.
It doesn't completely spare you, but source tree is good enough that my web designer wife doesn't have much trouble with git, and BTW don't ever get in a situation where your wife is on you about committing code.
Curvature of the Mind now with 3D
Technical and life advice in one package!
-
Yes, I know the question has been asked before, but things change and so does opinions. I have finally been tasked with exchanging our stone age CVS system and to implement an issue tracking system at the same time. ... And I just removed half a book of what I've looked at and how I reason about my choices, because I realize that I should get your "unbiased" opinions. :rolleyes: <edit>We're a small shop doing mainly Asp.Net and forms with Oracle as backend DB</edit>
Wrong is evil and must be defeated. - Jeff Ello
-
Yes, I know the question has been asked before, but things change and so does opinions. I have finally been tasked with exchanging our stone age CVS system and to implement an issue tracking system at the same time. ... And I just removed half a book of what I've looked at and how I reason about my choices, because I realize that I should get your "unbiased" opinions. :rolleyes: <edit>We're a small shop doing mainly Asp.Net and forms with Oracle as backend DB</edit>
Wrong is evil and must be defeated. - Jeff Ello
Source control: We use Subversion with TortoiseSVN front end UI that integrates nicely with Windows Explorer. Bug tracking: Mantis They aren't best of breed, but they work reliably and the price is right.
Cheers, Mike Fidler "I intend to live forever - so far, so good." Steven Wright "I almost had a psychic girlfriend but she left me before we met." Also Steven Wright
-
Yes I understand that. But I have heard attempted arguments against TFS and they pretty much came down to "Becaze M$ is evil"
Computers have been intelligent for a long time now. It just so happens that the program writers are about as effective as a room full of monkeys trying to crank out a copy of Hamlet. The interesting thing about software is it can not reproduce, until it can.
Collin Jasnoch wrote:
But I have heard attempted arguments against TFS
And what would the argument for it be? I have used a variety of systems and have never found one that I thought was either great or horrible. Although I will say that git is useless when multiple deliverables with interdependencies are needed.
-
Yes, I know the question has been asked before, but things change and so does opinions. I have finally been tasked with exchanging our stone age CVS system and to implement an issue tracking system at the same time. ... And I just removed half a book of what I've looked at and how I reason about my choices, because I realize that I should get your "unbiased" opinions. :rolleyes: <edit>We're a small shop doing mainly Asp.Net and forms with Oracle as backend DB</edit>
Wrong is evil and must be defeated. - Jeff Ello
Jörgen Andersson wrote:
and to implement an issue tracking system at the same time.
Based on your other response you might want to take more time with this than the other. When customers can open tickets it probably isn't not going to be a good idea to allow developers to respond to them like normal tickets. After all "RTFM" might be perfectly fine between two development peers but not so much if the CTO of a major customer is the one that opened the ticket.
-
Collin Jasnoch wrote:
But I have heard attempted arguments against TFS
And what would the argument for it be? I have used a variety of systems and have never found one that I thought was either great or horrible. Although I will say that git is useless when multiple deliverables with interdependencies are needed.
jschell wrote:
And what would the argument for it be?
I could go on and on, but really it comes down to the business model used. By that I mean the argument for it depends on the business model. It seems however, that whatever the business model is a case can be made for it. It really is some powerful tooling and nothing really competes on its capability for all levels.
Computers have been intelligent for a long time now. It just so happens that the program writers are about as effective as a room full of monkeys trying to crank out a copy of Hamlet. The interesting thing about software is it can not reproduce, until it can.
-
Not TFS. Probably SVN and jira. TFS tries to be too much, and isn't great at any particular thing. Sure, it's o.k. revision control. And it's o.k. for issue tracking and time tracking. However, let's say (for example), you enter something as a bug, but later decide it's really a feature request. Sorry, you can't change the type. Go enter a new item. I understand on some level, the type is tied to paths through the system, but that's frustrating. If they can't get something as (seemingly) small as changing a type attribute to work, how much faith do you want to put in the rest of their tools? Maybe it's just been the administrators I've worked with, but places with TFS have had more problems with the repository acting strange than those with SVN or git, where it just cruises along. Though I must admin TFS has made huge improvements in the more recent versions on this reliability aspect. For SVN vs git, I like git's local repo; I can check in some changes to have a 'go back to' point when working on a complex, multi-step implementation without affecting the source repository. However, I don't feel like the tools are there like they are with SVN for ease-of-use for most developers (myself especially). I think I'd go with SVN with the Tortoise add-ons for windows. For issue tracking, seems like jira worked pretty well, but it's been quite a while since I used it. Same with FogBugz. We currently use the built-in TFS stuff, which I don't really care for. It gets the job done, as long as you follow Microsoft's ideas pretty closely, but I'm not a fan. Again, little things. A task has a single text box where you enter the time spent. It doesn't track by segments (i.e., I worked on this from 3-4:30 on Monday, and 10-11:15 on Tuesday. It's just 2.75 hours). IDK, I don't know that level of precision is really useful, but when I think about tracking time, I think of it in terms of start and stop times, not making the user enter a single total. Also interface not great. Cut-and-paste from (say) SQL server management studio into the comment box; font/color changes to your source, but there's nothing on editing tools which allows you to set it back to TFS' normal font/color. Again, can't get the little things right, how can we expect them to get the big things right? But it's fair to say these are nitpicks. Maybe they color my views of TFS more than they should.
Thanks for going a bit deeper in your reasoning.
Wrong is evil and must be defeated. - Jeff Ello
-
Jörgen Andersson wrote:
and to implement an issue tracking system at the same time.
Based on your other response you might want to take more time with this than the other. When customers can open tickets it probably isn't not going to be a good idea to allow developers to respond to them like normal tickets. After all "RTFM" might be perfectly fine between two development peers but not so much if the CTO of a major customer is the one that opened the ticket.
Fair enough, that's also where I'm having more problems to choose. On the code repository I've basically settled for Mercurial, we want distributed but don't need the fuckup factor power of Git. Not all users are fit for it. TFS is basically out on that reason plus price. I've got to convince the boss too. As for the Issue Tracking system I'm mostly looking at FogBugz and Jira at the moment, both integrate well enough, but Jira seems to have the upper hand on functionality and also has a Service Desk for customers. But Fogbugz can handle issues in a hierarchy/tree. Also here is price an issue.
Wrong is evil and must be defeated. - Jeff Ello
-
Something that comes after 4th (I'm wearing mittens so counting function in maintenance mode)
cheers Chris Maunder
Well, for my private installation (just me and a handful of machines) I'm still using VSS with VS2008 and it's been fine but, yeah, in an environment with multiple developers I'd definitely go with TFS.
-
Yes, I know the question has been asked before, but things change and so does opinions. I have finally been tasked with exchanging our stone age CVS system and to implement an issue tracking system at the same time. ... And I just removed half a book of what I've looked at and how I reason about my choices, because I realize that I should get your "unbiased" opinions. :rolleyes: <edit>We're a small shop doing mainly Asp.Net and forms with Oracle as backend DB</edit>
Wrong is evil and must be defeated. - Jeff Ello
I have used PVCS, SVN and Mercurial for source control over the years. Just recently got turned on to GitHub and I prefer it over all others that I've used. It has a really nice interface. Intuitive to use. A lot of my co-workers rave over Mercurial but it would be my least favorite. Don't even consider PVCS. I use JIRA on multiple projects for bug tracking. I would only suggest using it if you integrate it with your source control tool (and integrate your source control tool with your continuous integration tool (i.e. Parabuild or TeamCity)...if you're not using one you should consider it). :)
-
Yes, I know the question has been asked before, but things change and so does opinions. I have finally been tasked with exchanging our stone age CVS system and to implement an issue tracking system at the same time. ... And I just removed half a book of what I've looked at and how I reason about my choices, because I realize that I should get your "unbiased" opinions. :rolleyes: <edit>We're a small shop doing mainly Asp.Net and forms with Oracle as backend DB</edit>
Wrong is evil and must be defeated. - Jeff Ello
Not a direct answer to your question but we use AJC Active Backup in addition to a source control system (TFS). This lets you go back to any save you did while editing your source code (and any other files). Its handy to have the granular control to protect from mistakes and corruption and when you just want to go back to that edit you did this morning. Or when you accidentally check out from source control over your local changes etc. It plugs into Visual Studio but will work on its own in any Windows environment. See it here: http://www.ajcsoft.com/active-backup.htm[^]
-
jschell wrote:
And what would the argument for it be?
I could go on and on, but really it comes down to the business model used. By that I mean the argument for it depends on the business model. It seems however, that whatever the business model is a case can be made for it. It really is some powerful tooling and nothing really competes on its capability for all levels.
Computers have been intelligent for a long time now. It just so happens that the program writers are about as effective as a room full of monkeys trying to crank out a copy of Hamlet. The interesting thing about software is it can not reproduce, until it can.
Collin Jasnoch wrote:
By that I mean the argument for it depends on the business model
I don't understand that statement. I have experience in a wide swath of environments including very large to very small companies, different process models and different industries. So is there a specific example of some business model and a specific feature of this tool that you can specify and tie together.
-
Collin Jasnoch wrote:
By that I mean the argument for it depends on the business model
I don't understand that statement. I have experience in a wide swath of environments including very large to very small companies, different process models and different industries. So is there a specific example of some business model and a specific feature of this tool that you can specify and tie together.
Yes I can. But that is in my current environment. You may have a different environment and not see a need for my needs. That was all I was saying there.
Computers have been intelligent for a long time now. It just so happens that the program writers are about as effective as a room full of monkeys trying to crank out a copy of Hamlet. The interesting thing about software is it can not reproduce, until it can.