views:

1892

answers:

10

What is the best version control system to implement with PowerBuilder 11.5?

If you have examples of how you have did branching/trunk/tags that would be awesome. We have tried to wrap our heads around it a few times and always run into problems because we use shared libraries such as PFC/PFE in multiple applications.

Right now we are only using PBNative, and it sucks.

+1  A: 

Many years ago I used Starteam to control PB applications. PowerBuilder needless to say is an outdated bear, and it has to export each and every object from its "libraries" into source control. Currently our legacy PB apps have its libraries saved whole into Subversion, without any support for diff's etc.

Otávio Décio
We have had great success with StarTeam. It also allows you to define 3rd party diff tools. PBDelta is the go-to tool for diffing PowerBuilder library (PBL) files: http://www.pbdr.com/software/pbdelta.htm
Dougman
That's because PB stored both the source code and a compiled version within the PBL. You don't have to do a compile when you run from withing the IDE.
Slapout
+2  A: 

We currently use Perforce and it's P4SCC plugin, which works very well. In fact, I'm sure I read somewhere that the guys at Sybase who write PowerBuilder, actually use Perforce themselves.

ninesided
Do you use anything else to manage branching/tagging? I've heard a lot about using Tortoise, but I don't want to use it if we don't have to.
Zerofiz
no, all of the branching work takes place inside the Perforce's graphical interface, p4v (or via the p4 command line interface), it's incredibly simple and by far the best source management tool I've come across
ninesided
it also has a stellar diff/merge tool p4merge
ninesided
You are definitely swaying me towards it. I just went and watched a demo of it, and it looks really nice.
Zerofiz
yes its true, we use Perforce internally.
Anders K.
A: 

We use Visual SourceSafe. We don't use PFC, but we do have libraries that are shared among several projects. Till now, each project was developed separately from the others, and so the shared libraries were duplicated. To have them synchronized, they were all shared at the VSS level. Lately we've reorganized our sources so all projects are near each other, and there's only one instance of the shared libraries.

VSS is definitively not the best source control system, to say the least, but it integrates into PB without the need of any bridges. PB has an inherent problem working with source control, so it probably won't make a very difference working with one instead of the other (at least from the PB point of view).

Now, on a personal note, I'd like to say PB 11.5 is a piece of sh*t. It constantly crashes, full of unbelievable UI nuisance and just brings productivity to its knees. It's probably the worst IDE ever created. Stay away if possible.

eran
Dude, I feel for you. PB11.5 and VSS? Life must suck.
ninesided
Oh, it does... but source control is the least of our problems. PB is by far the worst part of our dev env. My English is not good enough to express my despise towards the work Sybase has done with 11.5.
eran
sorry to hear your frustration, I work on the new PB.NET and haven't been involved 11 or older versions (not guilty). I hope that we with the new version will give a better impression. Currently we are in beta stage.
Anders K.
+1  A: 

So, to be fair, let's start out by saying that while you're asking about version control, PBNative is source control. If you compare something that is intended to have more features than just keep two developers from editing the same piece of source, then yes, PBNative will suck. The Madone SL may be an incredible bicycle, but if you're trying to take a couple of laps around an Indy track, it will suck.

"Best" is a pretty subjective word. There are lots of features available in version control and configuration management tools. You can get tons of features, but you'll pay through the nose. StarTeam has some nice features like being able to trace a client change request or bug report all the way through to the changed code, and being able to link in a customized diff tool (which is particularly useful in PB). Then again, if cost is your key criteria rather than features, there are lots of free options that will get the job done. As long as the tool supports the Microsoft SCC interface, you should be OK.

There is a relatively active NNTP newsgroup that focuses on source control with PowerBuilder, which you can also access via the web. You can probably find some already-posted opinions there.

Terry
+1  A: 

FYI: The new PB12 (PB.NET) will integrate with SCC systems so you can easily choose which source control system that you want to use. Since we basically have dropped PBLs (they are now directories) files can be checked in/out individually - even with a plain vanilla editor since files are now normal (unicode) text files.

Anders K.
the old versions of PB supports the SCC interface too. I've used PB9 with Perforce.
ninesided
I believe what they're saying is that the objects are not housed in PBLs anymore. Each object is in a file all to itself. The idea is that ANY version control system, *not just the SCC-compliant ones* would work.
Adam Hawkes
That's correct.
Anders K.
A: 

We use Merant Version Manager for older projects and TFS for newer work. The only issue we have is that TFS does not support keyword expansion and changing the 'read the flowerbox comments' attitude people have. Some folks are nervous about losing the inline versioning history.

DaveE
A: 

We use StarTeam and have been very pleased with it. It combines bug tracking with version control. Unfortunately though we don't store our files on the object level. We just store the PBL files directly in source control. Anything that supports the SCC interface theoretically should work correctly in PowerBuilder.

Dougman
+1  A: 

Dougman, StarTeam integrates so beautifully with the PB IDE. I used that combination at my previous company (PB9 and ST5.x) for several years. You should be managing your code at the object level - don't log the entire PBL into ST...

If you're having problems with that setup, hit me up offline. phoran at sybase dot com.

-Paul

NoazDad
A: 

PB9: We used PVCS but had stability problems with pbl corruption and also problems co-existing with later versions of Crystal Reports (dll conflict) so now we use PB9 with Dynamsoft's Source Anywhere Standalone. This system is more primitive; it is missing the more advanced features for promotion levels and for pulling out an older milestone version of all objects to make a patch build.

What we are looking for now is something which will allow more advanced "change management", to support promotion levels at the change level (rather than at the object level). Would it be better to use perforce, starteam, or (harvest change manager + HarPB), or something else? Any advice on these combinations would be greatly appreciated.

tones
A: 

You can always use Plastic SCM with PowerBuilder through SCC. Plastic is pretty advanced in terms of graphics, tools, replica and so on, so it's always a good choice to keep in mind.

pablo