1. Cedeno Thompson
  2. PowerBuilder
  3. Tuesday, 23 May 2023 21:58 PM UTC

I'm using PowerBuilder 2019 R3 Git with Azure DevOps.  I'm able to connect from PowerBuilder to Azure DevOps.  In Azure DevOps I have three Branches. Master Branch, Development Branch and a Development Feature Branch.  On my local PowerBuilder I have a local Master Branch and able to switch to the Azure DevOps Branches that are show origin /master, origin/development and origin/development-feature in PowerBuilder.    How can i pull down changes from one of the development branches into my local Master branch to make changes?  How can I push my changes from my local Master to Azure Devops Development Branch or Development Feature branch online? Please view attachment for perspective.

Attachments (1)
Benjamin Gaesslein Accepted Answer Pending Moderation
  1. Wednesday, 24 May 2023 10:34 AM UTC
  2. PowerBuilder
  3. # 1

Hi!

How can i pull down changes from one of the development branches into my local Master branch to make changes?

How can I push my changes from my local Master to Azure Devops Development Branch or Development Feature branch online?

Do you really want to pull changes from other branches into your local master and push changes from your master branch to other branches? It's not impossible (using the git cli at least, not sure if/how it would work from within PB) but seems like an unusual workflow. Usually I'd expect changes from a local branch to be pushed to the corresponding remote branch.

Switching to one of the origin/... branches should create a local copy of that branch that you can then commit your work to. When doing a push while on that branch it will push the commits to the corresponding remote version of the branch.

Comment
  1. Cedeno Thompson
  2. Tuesday, 30 May 2023 03:33 AM UTC
When I switch to either of those branches like original/development or original/development-feature-c..... I receive a message below. What should the normal workflow be? Previously I've only used TFS.

---------- Source Control

Switch branch

You are in 'detached HEAD' state. You can look around, Make experimental changes and commit them,

And you can discard any commits you make in this state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, You may do so (now or later) by using -b with the checkout command again. Example:

git checkout -b <new-branch-name>

Switch branch succeeded (branch: origin/development).

Refresh...

Refresh succeeded.

Refresh completed.

Switch branch completed.

---------- Done Source Control

  1. Helpful
  1. Benjamin Gaesslein
  2. Tuesday, 30 May 2023 06:26 AM UTC
I figure that's from within Powerbuilder? Then I guess git integration still isn't as good as it should be because PB seems to check out the remote-tracking branch directly, which usually isn't you want to do. origin/... branches are for fetching from/pushing to the remote. This is how it works on the command line:



git checkout development



This will not switch directly to origin/development but create a local branch called "development" instead that tracks origin/development.
  1. Helpful
There are no comments made yet.
Cedeno Thompson Accepted Answer Pending Moderation
  1. Tuesday, 30 May 2023 19:59 PM UTC
  2. PowerBuilder
  3. # 2

Yes, its from within PowerBuilder.  Should I be using command line instead?  If there a better route to work with Azure DevOps?

Comment
  1. Benjamin Gaesslein
  2. Wednesday, 31 May 2023 07:46 AM UTC
Looks like you'll have to use it for checking out remote branches for the first time to create the local copies. A GUI tool like TortoiseGit should work for that, too. After the local branches are created, you should be able to switch between them from within PB.



I personally prefer the command line for pretty much everything because PBs git integration is so very limited. The only PB source control command you actually need in that case is "Refresh" to load the current source files from the ws_objects folder into the PBLs.
  1. Helpful
There are no comments made yet.
kitty he @Appeon Accepted Answer Pending Moderation
  1. Friday, 2 June 2023 05:31 AM UTC
  2. PowerBuilder
  3. # 3

Hi Cendeno,

 

In the current PowerBuilder design, if the Azure DevOps Development Branch does not exist locally, you need to first right-click the local PBW object and execute the menu "Git Create Branch" to create the development branch based on origin/development or origin/development-feature and name it development or development-feature, and then right-click and use the menu Git Switch Branch to switch to the development branch. After that, all your operations such as modification and submission will be performed against the development branch.

 

As Benjamin said, PowerBuilder is not as flexible as TortoiseGit in creating and switching branches (PowerBuilder needs two steps to complete this), and we will consider optimizing it in a future release.

 

Regards,

Kitty

Comment
  1. Cedeno Thompson
  2. Friday, 2 June 2023 18:03 PM UTC
Kitty, this is part of the puzzle I didn't know. Thanks. However I did as you stated and created the new branch based on orig/development and called it development. Then I performed a Switch Branch to Development. I performed a Git Pull. I checked out a window and made a comment then saved and checked it back in. When I push the change I don't see it updated in origin/development. Did I do something out of sequence?
  1. Helpful
  1. kitty he @Appeon
  2. Monday, 5 June 2023 08:31 AM UTC
Hi Cendeno,



I don’t see any problems with the process you mentioned. You should be able to see the modification according to this process. I’m not sure which step is not working for you. It’s best that you create a new ticket and send a screenshot of each step of your operations.

Please open a ticket at https://www.appeon.com/standardsupport/newbug



Regards,

Kitty

  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.