What Source Control and issue tracking system would you choose today?
-
git, obviously.
Why is that obvious? I read Albert Holguins rant higher up in the Lounge, and he doesn't seem to happy with it.
Wrong is evil and must be defeated. - Jeff Ello
-
Why is that obvious? I read Albert Holguins rant higher up in the Lounge, and he doesn't seem to happy with it.
Wrong is evil and must be defeated. - Jeff Ello
Well, Jorgen, git may be somewhat fiddly, but it unifies teams both locally and remotely; it can be used by a lone programmer all the way up to a very large team, in case you grow, and this team can mix and match remote and local workers. By using configuration a build-master can be appointed as with other systems, and it works with various OS's, so your team can do cross-platform development seamlessly. Also it's free and integrated into Visual Studio from 2012 up, available in 2008 and 2010 also, if that's where your team works.
-
TFS has basic issue tracking, but configuring fields and changing allowed statuses requires exporting xml, editing it and importing it. Each project has a template for how issues are tracked, but changing templates midstream can be a pain, and some features aren't available for all templates. Upgrading major versions of TFS can be a pain, and synchronizing the 5 databases to get clean backups requires a custom script. The source control portion is better now, and you don't have always be connected to the TFS server without it complaining. However, TFS is lacking things like being able to search for commit messages. The file search will only search by file name not file content. Branching and merging work just like other systems and I haven't had any issues with any of the basic operations. However, it can support something like a 20 server configuration with multiple database servers, web servers, sharepoint servers, and custom source proxy servers for handling remote offices, so it can definitely scale up to handle something as huge as the windows codebase.
Curvature of the Mind now with 3D
Andy Brummer wrote:
However, TFS is lacking things like being able to search for commit messages.
WAIT WHAT THE SHEEP? Just... can't? Now, I'm sure you could open the relevant DB and fire a query at it :wtf:
-
Why is that obvious? I read Albert Holguins rant higher up in the Lounge, and he doesn't seem to happy with it.
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'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.
It's "GIT is a basterd to learn" vs "I need those extra functions?
Wrong is evil and must be defeated. - Jeff Ello
-
Andy Brummer wrote:
However, TFS is lacking things like being able to search for commit messages.
WAIT WHAT THE SHEEP? Just... can't? Now, I'm sure you could open the relevant DB and fire a query at it :wtf:
There are plugins that do that now, but the early recommendation was to export all the comments to a text file and then search the file.
Curvature of the Mind now with 3D
-
It's "GIT is a basterd to learn" vs "I need those extra functions?
Wrong is evil and must be defeated. - Jeff Ello
What I tried to convey is that it's not just *extra functions* but that is has a fundamental (supposedly net-positive) influence on the whole development process, one that isn't easily captured in "X% increased productivity" (which also means evaluation is subjective, so yes, YMMV.) Mercurial is probably mature enough now to be a viable alternative. I'd still recommend because - despite obvious drawbacks - it has become the de facto standard in a wide range of the dev world.
-
There are plugins that do that now, but the early recommendation was to export all the comments to a text file and then search the file.
Curvature of the Mind now with 3D
Holy moly. First surprise in this thread was the strong support for TFS, second surprise was your comment. As much as gitk's search is awkward, it's at least functional (search for: commit ID, comment, file names in the change set or changes in the source) [edit] Locating a particular commit is now intrinsic part of our workflow, but maybe one usually doesnÄt do that in TFS that often.
-
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
It all comes down to your scenario. My personal preference would be: Source control - Github/BitBucket Build server - Team City Deployment server - Octopus Deploy Issue tracking - Github Issues/Trello/Jira All are free/minimal cost for small teams. TFS could replace all of these but it does tie you to the MS workflow somewhat. My advice would be to shop around and try out a few different systems first. You may find that TFS fits your workflow but you may also find that a combination of other tools does it better. Does your source code need to be in the cloud? Does it need to be private? Do you need to be able to access issue tracking remotely? These are all things that are specific to your business and will define which tools are most appropriate.
-
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.
SourceTree by Atlassian makes git much more approachable for windows users.
-
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