|
What is wrong with Starteam...
[
vmassol
]
I'm revisiting an old entry I posted about a year ago about Starteam woes. The reason is that the project I'm working on is delivering a first release soon and we'll be attacking the second leg of the journey... and it maye be time to lobby for a source repository change... :-). Thus I need to prepare my ammunitions again. By running it through you guys I hope to flesh out the inaccuracies of my points and possibly find new arguments in favor of... CVS. Yeah, I am biased! Here's what I feel is wrong with Starteam:
Any more? Any inaccuracy in there (I'm sure there are as I am biased!)? Well, I don't really know Starteam and I'm not convinced that CVS is the best you can get, but let me add something anyway 8-) This is just an observation from watching development of Ant tasks for Starteam: The Starteam library seems to be changing in slightly backwards incompatible ways with each release and any integration you've produced is bound to fail with the next release. To top that Borland has been very unwilling to provide support for Open Source developers here. BTW, CruiseControl seems to support Starteam, see http://cvs.sourceforge.net/viewcvs.py/cruisecontrol/cruisecontrol/main/src/net/sourceforge/cruisecontrol/sourcecontrols/StarTeam.java --Stefan Bodewig, February 11, 2004 08:38 AM
Cruise Control does indeed support StarTeam (and Maven as well) so you can have an automated continuous integration build with StarTeam. In my opinion, the major problems with StarTeam that you have not already covered are: - The total and utter confusion that abounds when trying to work out what has been added and removed due to the complete rubbish that are the Missing and Not In View statuses - The whole concept of Unknown - No logical commits containing all of the modifications, adds and removes in one change - Slooooooow - Crap merge support --ICaptain Blarg, February 11, 2004 11:16 AM
I am disappointed to hear this. We are currently running PVCS and it has an armada of problems. I had hoped that StarTeam might prove to be a better source control system, plus it will run on Oracle, which is something we do quite well. CVS seems pretty decent, but I need a supported [commercial] package since I do not want to personally manage the source control system, and I do not think Ops will support an unsupported open source system. Where can one get support for CVS ? Any other ideas ? --Nicholas, February 11, 2004 01:56 PM
Have you tried branching in Starteam? We have been using it for three years, and I still have not figured out how to branch using Starteam. Maybe I am just dense, but their docs have never cleared up this issue. As for replacements - we are in the same predicament. We are currently using Starteam for version control and issue tracking. We have practically made the decision to switch to JIRA for issue tracking (JIRA rocks!). Haven't decided on VCS. Not big on CVS, due to its lack of support for aggressive refactoring (can't move/rename file/directories). I really like what I saw out of Subversion. If I can find a decent client, I would vote for that. --Ryan Breidenbach, February 11, 2004 02:24 PM
> Comments: Yes, we're using branches. More specifically we're using branch inheritance. Don't ask me how to set it up as I haven't done it myself! > Yes, SVN is much better than CVS. I'd love to use it. However it's still missing lots of tool integration when compared to CVS. For example I don't think there's any JBuilder integration (JBuilder is the IDE used on the project... *sigh*). However, there is a very good SVN client: TortoiseSVN. Thanks --Vincent Massol, February 12, 2004 06:46 AM
> Where can one get support for CVS ? Any You only need some admin person. Actually you don't really need dedicated support as information on CVS is available everywhere. There are several mailing lists where you can also ask your questions and get answers. Using open source requires a different mentality than using commercial packages. However, I've always found *MUCH* better support in open source than commercial tools for which you need to spend 2 days (or 2 months in some cases I have experienced) before you get to talk to someone a little knowledgable about the subject... --Vincent Massol, February 12, 2004 06:53 AM
We use branches. They are easy to set up. In the project click on View->New. You will be presented with a window. Check off "Derive new view from current view" and "Permit items to branch within this view" and keep radio button "Branch all" set. Then follow the steps. You can set the folder that you want branched also. There are problems with the branching that I have come across. It doesn't migrate down new folders from the parent view so you have to add them and then it will migrate the files. When it comes to merging back to the main branch good luck. It's a pain with their merge tool. As for using ant and starteam we created a build process that uses them. It checks out all the files in the project and also creates build labels . Also we created a jsp file that gets updated after the build has succeded that displays what build label that build was so that when we do deployments we can make sure the correct build is in the correct place. Also there is an eclipse integration for StarTeam that I use. It sometimes can be slow, as is the client, but it does pretty much everything that the client does so you don't need it open along with Eclipse. It's on the Borland site. http://starteam.borland.com/downloads/starteam/integrations.asp Overall it's an ok product that does have all the issues mentioned above but once you get people trained on it then those issues are very small. --Pete Mazur, February 12, 2004 09:31 PM
A fair number of techs that I respect prefer Perforce to any other commercial option. Fairly inexpensive, atomic commits, simple to set up and admin. This is 2nd hand, as I've no direct experience with it. But since no one else was mentioned it, thought I'd add to the conversation. --Jack, March 5, 2004 11:25 AM
We have been using StarTeam since version 2. This was selected as the third attempt at getting a workable system into development. I have reviewed every couple of years but so far nothing has measured up. The open source alternatives generally did not match the functionality, although this is starting to change, and there is a big culture block when paid-for support is not available. The commercial alternatives either did not match in functionality (does anyone actually use VSS for real projects?) or required a permanent librarian PVCS or were too expensive. The combined source code control and defect management is excellent if used properly; branching is too powerful for most developers to understand but does allow you to branch for maintenance or research purposes; the SDK is not the best design I have seen but still allows for automated builds ( we use CruiseControl ). The pricing for the standard edition is okay, but I cannot see the extra value in Enterprise Edition. There has always been the StarDisk integration with Explorer although we have never used it. I do have a number of gripes with StarTeam, but not enough to make me change to something else. --Mark, March 17, 2004 11:38 AM
Hello Vincent - it's been a while since we've seen you at XTC! I used to think VSS was as bad as it gets until I used Starteam. (In fact, this whole product area is generally served by some truly pathetic products from a variety of manufacturers - I can only assume most software companies haven't got a clue about writing software). It has mercifully been some time since I used this awful product, so it may have improved, but here are my recollections. I worked with a very good team, and one of our practices was to review code before commit (something we should all be doing, but I'll get off the soapbox before going too far on that one). * In Starteam, you have 2-way compare, but not 3-way compare, so you can't spot conflicts easily. It is easy to recollect changing a line, see it marked as different by Starteam and just commit it, blasting away someone else's changes on the same line. This one is particularly insidious, as it may be only one line that gets trashed in an otherwise perfectly sane file and it can be hard to track down. * The comparison view behaves bizarrely under many circumstances, and we frequently didn't trust what we were seeing, which tends to shred your nerves a bit when you're trying not to break the system and bring the team to a halt. It seems to have issues with things like scrolling, and showing change markers. Frankly, I think it's buggy, but whatever it does, it's frequently not what you expect. * There was no convenient way for us to commit our reviewed changes as one. Never mind the lack of atomic commits, there's not even a way of shortening the time so other people don't catch up to half-committed stuff. Adding files seemed to be a different process from checking in updated ones. CVS may not technically be atomic here, but at least you don't have to run separate commands for all this stuff. You have to provide your own release "lock" (dedicated release machine, cuddly toy etc) to overcome this. * You can check in version 1.1 of a file even if the latest in Starteam is 1.2. Starteam will not even warn you. So, if you forget to catch up or make a mistake (both of which are easy to do in ST) you end up blowing other people's changes away (ones made since you last caught up). Can you spot a pattern emerging here? * Creating a "clean" checkout is difficult as some other people have noted. * Starteam is incredibly arcane, even by version control system standards. We spent a couple of iterations "labelling" our iteration releases before finding there was actually no way to retrieve a coherent set of files based on the label. Eventually we found _another_ labelling mechanism that allowed us to do this properly. So, in the end we dedicated an integration machine to act as a release lock, deleted and always rebuilt from clean and ran all tests on a separate machine to overcome the difficulties of getting clean checkouts. We always ran our tests post-release even though we had to be 100% passing on the developers' machines because we were so scared of losing stuff in the release process (it catches failing to add new files as well, but mostly we found Starteam release screwups using this). We also wrote down the 13 (!!) steps required to safely release in Starteam to prevent changes getting blown away. Prior to that it was happening every couple of days. What a woeful piece of software! --Duncan Pierce, April 3, 2004 12:07 PM
My 0,02 c about StarTeam... * No "clean checkout" option. It’s up to you to decide how to handle this situation when preparing for a “clean check-out”, eg. You may elect to delete the entire folder (and subfolders) before performing a check-out (in which case StarTeam will create the necessary folders and populate with files), or could run a cmd-line script to do some house-cleaning before commencing the check-out. Either approach would achieve the same result of a clean check-out. * No ability to send email diffs on commits (using tools like CVSSpam) * No nice IDE integration * No possibility to run an Ant or Maven build every time there's a commit * Starteam is very slow on WAN links. * No windows explorer integration. --Paul Bordes, May 21, 2004 04:25 PM
Add another vote FOR StarTeam. We were stuck with CVS for about 15 months and it was hated by most of our team. We needed an administrator working about 25% of the time to support us hacking away in command line. We also wrote a Java App to handle some automated steps. --Tom Ross, June 9, 2004 07:03 PM
We have used Starteam at my place of work for several years, and it seems to handle simple SCM and defect tracking fairly well. Of course, it's not perfect, but as so many other people have mentioned, nothing bad enough to be worth the pain of switching. However, we now have a situation where one part of our product is best handled using a branch-and-merge strategy, and we've suddenly dropped off the edge of Starteam's world. --Sean, July 1, 2004 09:57 AM
Sean, What do you mean "dropped off the edge of Starteam's world"? --Tim, July 1, 2004 05:15 PM
Reading all this stuff, I'm pretty appalled at the prospect of anybody deciding against this product on the basis of that they read here. We've been using StarTeam at my workplace for almost a year now, and it trounces CVS, ClearCase and VSS, which were the existing three solutions we used. From our own experience, I’d say it scores in the following areas: Sure, it’s not perfect (what tool is?), but it does a hell of a lot more than CVS or VSS and is a lot cheaper than ClearCase. As regards the (largely spurious) ‘flaws’ mentioned above, they belie a profound lack of competence and/or imagination in using the product. Who on earth wants to be emailed with file diffs every time someone does a commit? This is one feature that we turned *off* in our CVS installation. I think that the name given to the utility – CVSSpam – just about says it all. And why bother with JIRA integration, when you can use the out-of-the-box Change Request functionality? It’s like complaining that one’s new totally integrated home entertainment centre won’t take 8-track cartridges. And another thing: for those of us who *don’t* exclusively write software in Java and don’t restrict ourselves to open source development out of purely ideological reasons, CVS can make a horrible mess of one’s source code. Try merging a Visual Studio project using whatever integration plug-in you can find, and see what I mean. On the (unrelated) subject of branching and merging, StarTeam supports this pretty well. You create a branching view from an existing view, make your changes, and check them in on a regular basis. Then you simply use the compare/merge functionality in the view. My one gripe about doing this in StarTeam is that it doesn’t have a graphical history viewer to show the lineage of various files as they progress through branching and merging. You can, however, manage perfectly well without it. Essentially, when choosing a CM tool, you can base your decision entirely on what a few self-professed ‘experts’ claim to know, or you can actually do what we did, which is to draw up requirements, select prospective tools on the basis of reports, evaluate a handful and then make a decision informed by your own experience. This approach seems to me to be by far the better one. And when you do make a decision, give the ideological issues much lower importance than those of pragmatism and flexibility. --Johnny Foreigner, August 23, 2004 05:27 PM
>Starteam is quite expensive and as a result we have only a limited number of fixed licenses. Anyone using floating licenses gets disconnected every few minutes. Very annoying. I think you should use inactivity and reconnect timeouts (StarTeam Administrator’s Guide > Configuring and Running the Server > Setting Server Configuration Options): - The inactivity timeout automatically logs users off a project when they have been inactive for a length of time. If the user had a concurrent license, that license is returned to the pool of concurrent licenses. - The reconnect timeout determines the amount of time the client has to re-establish the server’s connection to the project. A --olivier mangez, August 31, 2004 11:25 AM
Would anyone like to volunteer :) to chat, phone or electronic, with me to hear what I would like to buy Starteam to do in my environ? I have been at the 50k foot level in 2 companies that used StarTeam and need to get into a deeper level. I'd like to get some feedback on what my plan is and how hard you think it will be to implement and manage ST in a small IT group. --EPProdMgr, December 6, 2004 10:02 AM
I'm using StarTeam currently at my place of employment, and I hate it. For the record, I used to be a CM Consultant, and have worked with CCC/Harvest, Perforce, CVS, VSS, RCS, and various others. Here are my complaints, about StarTeam (stolen from a wiki, I used on the subject): * There is no concept of a ‘grouping’ of changes (package or changelist, etc) --Eddie Parker, January 14, 2005 06:18 PM
Hi All We have been using Starteam for 2 months now. Its good. The only annoying thing is the branching. We need to develop in parallel to support 2 version of our product. So we created a new view out of baseline view. Now how to check out files for the view. If i select the view n check out the dumb thing checks out files with the latest modifications and not with what the view was created. Can anyone help??? --Deepesh Makkar, September 8, 2005 11:07 AM
I use Perforce, it's really good. I highly recommend it. It does branching right. It's fast, and flexible. Their support is excellent, and it's not very expensive. I do not work for Perforce, I'm just a big fan. At www.perforce.com you can view the 10-minute sales pitch for more info, and you can download the software and it's documentation for free. I have reviewed many competing products (we were switching from Visual SourceSafe) and my conclusion was that Perforce was right for us. --Eivind Hagen, December 31, 2005 07:33 PM
As a user/admin of StarTeam for over 6 years, I have to say, almost every single comment you made above is incorrect. In fact, most of the comments show a lack of knowledge of the product. Admittedly, I actually did not like it at first but very quickly grew to appreciate it. I now think it is THE best tool I have ever used with no exaggeration. It can do virtually anything you want it to. I've done 3-way merges successfully with no problem. I've supported multiple views in one project to accomodate different work: bug fixes, main view building, future releases. Their documentation and help is excellent, as well as their support. If you don't want to use it, don't, but please don't disparage it for a lack of understanding on the user's part. RTFM! If you have questions, check the Help and if you can't figure it out call Borland - that is how I learned it and they are very helpful. It blows CVS, PVCS, ClearCase and SourceSafe away. --edfred, March 20, 2007 01:35 AM
I call bullshit on the StarTeam shills singing its praises -> asserting that the problem is "lack of understanding on the user's part" is a total cop-out. If the documentation and help was excellent, they wouldn't have as many complaints. Hearing edfred talk about all the stuff he's done gives me no warm fuzzy feeling unless he can either cite chapter and paragraph in the help files where it shows how to do what he claims (3-way merge for example, or perhaps addressing the deleted files issue), or explain it himself. Let's start off with this one - StarTeam has no working eclipse plugin for RAD6. "THE best tool"? I don't think so. --hunter, April 24, 2007 06:13 PM
I have a problem in checking out the files from star team by labels using cruise control it will be helpful for me if you are abel to provide the solution. your site is very good site for solutions. Thanks and regards. --haleshtg, July 12, 2007 03:56 AM
Hunter: 3-way merges are mentioned in the chapter that begins on page 320 (View compare/merge) of the manual. When you delete a file you get a warning message, with the option to also delete the local working file. --janbo, September 21, 2007 04:52 PM
Post a comment
|