1. Aron Cox
  2. PowerBuilder
  3. Tuesday, 17 September 2019 13:48 PM UTC

I've wanted to knuckle-down and look at git and PowerBuilder for some time now, but have been too busy on other stuff to really get into it. We are currently using non-git based source control on Azure DevOps with the MSSCCI interface.

Our main application takes a long, long time to do a full get latest, or a check-in across all the PBLs. It is hugely annoying, and quite often crashes. It took me almost a half a day to do a check-in yesterday becuase it kept crashing (I could've just kept a not of all the objects and checked them in one at a time I suppose).

Can anyone answer these questions:

* Would git on the same platform be faster?

* I remember there was talk about a native interface for non-git Azure DevOps source control. Is that a thing yet? Would it help?

* If you think git is the way to go, is there anywhere I can go to find out how to do it? I saw Bruce's video about setting up GIT in PB 2017, but I believe there have been a lot of changes in the PC IDE since then.

Thank you!

John Niespodzianski Accepted Answer Pending Moderation
  1. Friday, 20 September 2019 15:01 PM UTC
  2. PowerBuilder
  3. # 1

The biggest challenge to using Git with PB 201x is branching.

To me, that's the 1st, 2nd, and 3rd reason to switch to Git - the ability to branch your code, work on individual/multiple feature branches, and have more control over how you build and release your software.  

If you want to do these things, the pain points of switching to Git are worth it.

If you want a simple check in/check out environment with exclusive locking, then it's probably not worth the effort.

My recommendation is to use a 3rd party GUI tool to help with branch management and workflow.  I'm partial to SourceTree myself, as it has built-in Git-flow support which is very nice.

The PB IDE does not directly support branching internally, meaning you have no visibility in the IDE as to your active/checked out branch that you're working on.  That's where a tool like SourceTree really helps - you can visually see what your active branch is, and easily switch between branches.  

When you switch branches, in the IDE you simply do a "Refresh" to resync to the new branch.  A lesson you'll learn quickly - always commit your changes before switching branches!  That lesson sinks in quickly when you have to rewrite the same code twice.

As with anything, change is difficult and uncomfortable at first.  My personal opinion is that it's worth making the switch if you want to take advantage of the branching features of Git.  We're using it successfully with Azure DevOps/Git and it's helped us better manage our feature development and release deployments.

John

 

Comment
There are no comments made yet.
Daniel Mullings Accepted Answer Pending Moderation
  1. Thursday, 19 September 2019 03:45 AM UTC
  2. PowerBuilder
  3. # 2

If the PB 2019 IDE supported branching, I think I could do all my Git work there, but since it doesn't, it's easier doing everything via the command line, in VS Code, or the web.

But we are justing starting to get into it and we only have 2 PB Devs. The rest of the devs are Angular and .Net and have been using Git for a couple of years. So, we are learning the process thru them, which does not include the PB IDE.

 

Comment
There are no comments made yet.
Daniel Mullings Accepted Answer Pending Moderation
  1. Wednesday, 18 September 2019 19:40 PM UTC
  2. PowerBuilder
  3. # 3

For us, it's about performance.  TFS and Powerbuilder is slow.  We are transitioning from TFS to Git, so our source is in both repositories.  When I open a pbl in the system tree (connected to TFS), and try to access source code, it takes awhile, sometimes there's an hourglass, sometimes not.  Accessing Git is instantaneous, even though the repo is remote as well.  But, of course, PB accesses the local Git repo and then we push it to the remote repo using either Visual code or Github desktop and that doesn't take long either.

So, it might take a bit to learn source control using Git, the performance benefit far outweighs any cons.

Comment
  1. Michael Kramer
  2. Wednesday, 18 September 2019 19:56 PM UTC
Hi Daniel, I see similar on performance.

Re: git repos :: I pull/merge between remote repo on server and a "master" repo locally on my DEV workstation. I then have PB connect to my "local master" to have a "PB internal repo" that pulls/pushes/merges to the "local master". I have similar but separate local work repos for A: SQL Server Mgmt. Studio and B: web dev(app+services) using VS Code. Lots of freedom locally.

What git tools are you running locally? I have git for Windows, SourceTree, and tried a few additional tools. Still not sure I have optimal combo for "workstation git". (VS Code + WinMerge + SourceTree as diff tools)
  1. Helpful
  1. Miguel Leeuwe
  2. Wednesday, 18 September 2019 20:05 PM UTC
True about TFS and PB being slow. It's not solid either, even when NOT on the cloud. (it used to be). That's why we decided to stay on the even older VSS 2005. No need for MSSSCCCC either :)

See that's what I mean.... "and then we push it to the remote repo using VC or Github desktop" that's not made life easier in my opinion. I do have to admit that maybe if I'd actually get to use Git for some time I'd see the advantages. (It's not me being to lazy to learn anything but my development director has to be convinced). What about now also having to "merge" changes before committing or at least needing someone who keeps an eye on which changes might conflict or not when there's no exclusive locking. I could be wrong but I think Git is great but for other type of projects like "collaboration' I think and where you can afford the luxury of having at least one person organizing stuff.
  1. Helpful
There are no comments made yet.
Olan Knight Accepted Answer Pending Moderation
  1. Tuesday, 17 September 2019 23:59 PM UTC
  2. PowerBuilder
  3. # 4

FYI -

You can get used to anything, including the incredibly complex GIT or SVN source control systems.

After testing with both, after actually getting them to work, I decided to not use either. Too clunky, too cumbersome, and way too much junk in the popup menus and on the hard drive.

Note that I am the sole developer in our shop so that was a decision that was easy for me to make.

I wanted to use Roland Smith's source control  ( http://www.topwizprogramming.com/wizsource.html ), but my company declined. I ended up putting each full build into separate folders in the PRODHIST folder. It works for us and provides for an absolutely secure backup.


Olan

Comment
  1. mike S
  2. Wednesday, 18 September 2019 13:29 PM UTC
Rolands' wizsource is designed to (and does) work extremely well with the PB IDE. Check in/out is through the ide, and is very fast since it is client/server with a DB backend and the objects are compressed. because of the database storage, it is very scalable (no size limit). i have over 10 years worth of changes tracked in a large application. I now have it hosted in azure, originally had it on a local server. That allows me to work from anywhere, not just my office (i use a vpn to control access to the db).



a nice touch is the ability to move an object from one pbl to another without losing history.
  1. Helpful
  1. Miguel Leeuwe
  2. Wednesday, 18 September 2019 19:35 PM UTC
Thanks for these comments guys. I didn't even know that there was a 2 GB recommended max repo for VSS. Lucky we usually make a new project for every release, but yes ... this does explain some weird things we've seen happening.

Next week I'll try to convince the people at my company to make a decision. Or maybe we'll wait to see what this "TFS on GIT" might be that Chris speaks about. (I'll ask him right now).
  1. Helpful
  1. Miguel Leeuwe
  2. Wednesday, 18 September 2019 19:50 PM UTC
We'll surely give Roland's solution a try and Mike if it is what you say, then it's perfect for us. No complicated cloud management administration, no need to get and configure encrypted keys, just great ! We are not worried about having to do backups ourselves.
  1. Helpful
There are no comments made yet.
Miguel Leeuwe Accepted Answer Pending Moderation
  1. Tuesday, 17 September 2019 21:22 PM UTC
  2. PowerBuilder
  3. # 5

Hi,

After having used good old TFS with the MSSCCI intermediate layer for years, it started to become buggy since MS no longer seems to upgrade that layer for local server installs. You're bound to Visual Studio / Team Explorer 2013 and might get away with 2015, but depending on which project you might have connected to in VS, it started to fail now and then and some problems with workspaces can only be solved from the commandline.

We've tried "Visual Studio Team Services" on the cloud (free account up to 5 users) and it just did not work. We're still waiting for Appeon to integrate native support on TFS, but who knows, maybe it's not going to happen as it looks like SVN and GIT are preferred and maybe we'd have to migrate to GIT or SVN. What I'm hearing of other users does not give me the impression that they're without any problems, simple to use and mature though, so meanwhile we're still on good old Visual Source Safe 2005 :s

It's simple and works "well enough" for now, though we only have a few developers. 

regards.

Comment
  1. Chris Pollach @Appeon
  2. Wednesday, 18 September 2019 19:00 PM UTC
Hi Miguel;

Appeon's current plan for TFS is to now deal with that SCM via the "native git" feature level. If you have specific native TFS requirements, please open a support ticket enhancement. We would need to provide Engineering with some TFS requirements or features that could not be supported via going the GIT route vs native.

Regards ... Chris
  1. Helpful
  1. Miguel Leeuwe
  2. Wednesday, 18 September 2019 19:46 PM UTC
Hello Chris,

I'm not sure if I understand what you mean with "dealing with that SCM (TFS) via the native git feature level" .. You mean NO TFS but simply GIT or am I missing something and there'll be something like a "GIT for TFS"? I cannot open a support ticket until I see what that solution might be(come)?

Our specific requirements are very simple.

Have something simple and solid which allows native checkin and -out, exclusive locking, history and without fuzz, preferably NOT hosted on any Cloud, but if it works okay still acceptable.



Maybe an "updated" explanation on how to work with Git would help, but it just seems so complicated after having used the previous tools.

TFS was not perfect but still great (in the past), until MS started with their &&*%^* website to manage projects, users, permissions etc. and where you go crazy finding the options you're looking for. I'll check if I can find that link to Bruce's presentation on GIT, though I think I watched that in the past and for some reason couldn't get it to work. As someone said, there's been quite some changes. Any updated blog or video on that?

Thank you, regards.
  1. Helpful
  1. Aron Cox
  2. Thursday, 19 September 2019 07:23 AM UTC
Our requirements are similar, but it does need to be on the cloud as we have team memebers in various countries. It sounds like git is really the recommended solution for PowerBuilder from now on, so as others have said it would be really nice if there were some updated instructions onhow to use it with PB 2019 somewhere.
  1. Helpful
There are no comments made yet.
Michael Kramer Accepted Answer Pending Moderation
  1. Tuesday, 17 September 2019 19:58 PM UTC
  2. PowerBuilder
  3. # 6

Hi, I did a little web surfing for TFVC. Most recent release of TFS is rebranded Azure DevOps Server 2019 whereas VSTS is rebranded Azure DevOps Services.

Here's a Microsoft link comparing TFVC vs. git.

What I can read is that Microsoft regards TFVC as mature so little reason to expand. MS has invested a lot of resources on improving git, among them git virtual file system (GFVS) to ensure MS Windows can reside in git and still have good performance.

So improvements on git but TFVC stays in the product. Appeon may have more insight than I do to guide their schedule for native TFVC integration in PowerBuilder IDE (and SnapDevelop).

 

HTH /Michael

 

Comment
  1. Aron Cox
  2. Thursday, 19 September 2019 07:26 AM UTC
TFVC work very well with our smaller projects, especially once we worked out how to ensure you are properly in sync with it but doing get latest twice once from Visual Studio and once from PowerBuilder. But it seems to choke on larger projects, so much so that every time I do a full get latest ot only do I have to wait almost half an hour, but I get an email from Microsoft stating I am using too many resources so my calls have been slowed down.
  1. Helpful
There are no comments made yet.
Michael Kramer Accepted Answer Pending Moderation
  1. Tuesday, 17 September 2019 15:01 PM UTC
  2. PowerBuilder
  3. # 7

Hi Aron,

Currently only native source control API for git and for SVN. Unsure of current plans for TFVC as I remember rumors that Microsoft is focusing on git going forward.

I've used git source control for about a year without issue. There are a few requirements you need to have in place, like PBW must be located in your git repo's root folder - or you ask for trouble.

HTH /Michael

Comment
  1. Aron Cox
  2. Tuesday, 17 September 2019 15:14 PM UTC
Thanks Michael. Yeah the tiny bit of git I've done with Visual Studio makes it seem incredibly complicated for a source control system, but I guess you get used to it eventually.
  1. Helpful
  1. Michael Kramer
  2. Tuesday, 17 September 2019 16:33 PM UTC
True, mental model is quite different than central version control. I come from 20+ years of central version control. Among others: Borland StarTeam, Visual SourceSafe, and TFVC. Now working primarily in git.

  1. Helpful
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.