1. ATK Gimmy Susan
  2. PowerBuilder
  3. Wednesday, 22 July 2020 08:55 AM UTC

Let's talk about GIT again


Ecosystem
Windows 10 64bit
Powerbuilder v2019r2
TortoiseGit v.2.10.0.2
Git v2.27.0.windows.1
Remote repository dev.azure.com
Project1 with 3 branches


Prologue
I uploaded a project to our remote repository and also sent the PBLs.
This was a must since those who make 'clone' must have the pbl available.
I subsequently modified the .gitignore by adding "*.pbl" to make Git ignore the changes to the pbl.
Result:

Operation
The development team is working on the project 'project1' simultaneously on 3 branches: branch1, branch2 and branch3.

User1 is positioned on branch1 and makes some changes. Commit and also push.
Result?

Now user1 must make an urgent change on branch2 and try to move using TortoiseGIT.
Result?

At this point he is forced to send the PBLs to the remote repository. He commits and PUSH.
Now user1 can be moved to branch2 to make his urgent change.
It moves, modifies, commits and pushes.
When he has finished, user1 must go back to branch1, so he also pushes the pbl. (otherwise it cannot change branch)

 

In the meantime, user2, which is located on branch2, has finished its work and needs to update the remote repository.
Commit and then push.
The PUSH gives him the error: 'fast-forwardable'.
Try doing a pull.
The PULL gives conflict error on the pbl.


Question

At this point what should be done?
In a reality where you work with multiple branches (version1, version2, versio3) of the same project and with multiple users, how do you configure the environment?

If I do a PUSH of the PBL I create conflicts
If I don't do a PUSH of the PBLs, I can't change branches

Solutions?

 

P.S.
Why don't we delete these PBLs and leave individual files like VS and JAVA? PBLs are becoming a ball and chain.

Roland Smith Accepted Answer Pending Moderation
  1. Wednesday, 22 July 2020 17:25 PM UTC
  2. PowerBuilder
  3. # 1

Where I work we use GIT, dev.Azure, and PB 2019 GA.

There are two branches we are working on most of the time. In PowerBuilder we have a separate workspace for each branch. We are not using the GIT interface within PowerBuilder.

Because our app is so huge (79 libraries, 13,600 objects), we do our coding in a 'work library' and manually import/export the .sr* files between PowerBuilder and the appropriate local repository folder.

Some of the devs use Visual Studio to run the GIT commands, some use the Tortoise menu in Windows Explorer.

I like to use Visual Studio because it is easy to attach the Bug/User Story number to the commit. That allows the code reviewer to easily see what I changed from dev.Azure.

Comment
  1. ATK Gimmy Susan
  2. Wednesday, 22 July 2020 17:36 PM UTC
[cit]

There are two branches we are working on most of the time. In PowerBuilder we have a separate workspace for each branch.

[end cit]



... very interesting ...



Poor powerbuilder ....

I don't think this was the spirit of the developers!

However, it could also work for us
  1. Helpful
There are no comments made yet.
Tom Jiang @Appeon Accepted Answer Pending Moderation
  1. Wednesday, 22 July 2020 09:36 AM UTC
  2. PowerBuilder
  3. # 2

Instead of committing the PBLs, you may use the Stash Save feature from TortoiseGit to temporarily save the changes to your local repository, and then after you switch back to your original branch you can then do a Stash Pop to resume your original status. 

Comment
  1. ATK Gimmy Susan
  2. Wednesday, 22 July 2020 12:24 PM UTC
you recommend me a stash + refresh ...

quite right ?
  1. Helpful
  1. Tom Jiang @Appeon
  2. Thursday, 23 July 2020 01:39 AM UTC
So when you switch from branch1 to branch2 and then back to branch1 you may do it like this:

User1 on branch1 with some changes not ready to commit but he needs to do some urgent fix on branch2.

User1 does a Stash Save (all the sr* and PBLs).

User1 switches to branch2 and fixes the issue and commits and pushes.

User1 switches to branch1 and does a Stash Pop so he is back at his original state on branch1.

  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.