cancel
Showing results for 
Search instead for 
Did you mean: 

Does PowerDesigner work with Git?

MountainKing
Explorer
0 Kudos
2,251

I've started at a site which is using PD16.1, but no repository. There is talk of using Git for version control, so does the version of PD we're using work with Git? I found this link below, which suggests it does:

https://stackoverflow.com/questions/32912118/model-deleted-from-powerdesigner-repository?utm_medium=...

I've only ever used PD's in-built repository for version control, not Git. Would be interested to see of others' experiences with Git.

Thanks,
Antony

Accepted Solutions (0)

Answers (3)

Answers (3)

0 Kudos

At my knowledge Git support is available only for SAP Enterprise Architecture Designer, the new way to do modeling.

As explained by George it's preferable to use PowerDesigner Repository to manage versioning with SAP PowerDesigner.

MountainKing
Explorer
0 Kudos

Thanks, George. Some of the above list might be more important for us than others. I would also make the same assumption as you that Git is treating any PD model file purely as an XML document. One thing that I would expect Git to be able to do at the very least is for multiple users to work on the same PD file and check in changes, but how this would differ from the way it's done using PD's own repository is the question.

GeorgeMcGeachie
Active Contributor
0 Kudos

Don't let multiple people work on the model at the same time - GIT will not be able to understand the differences between the versions, and could screw up the model. It may just resort to overwriting the file every time it's checked in, which will be very frustrating:

  • User A and user B both check out the model - current version 1
  • User A changes "Client" to "Customer" in object names, checks in the model - GIT creates version 2
  • User B moves symbols around on a diagram, checks in the model - GIT creates version 3
  • User A checks out version 3, and screams "where are my changes?"
  • User A compares version 3 to version 2, GIT shows them the differences between two XML documents - user A tries to make sense of that, resorts to asking user B to remember what changes they made to the model, so user A can re-do them

Here's a worse scenario

  • User A and user B check out a PDM
  • User A makes a vital but minor change, checks model in to GIT, and the database is updated
  • User B makes non-vital changes, checks in the model - it no longer has the vital change

So, if you ARE using GIT, manage your check-in operations carefully. Always use PD's model merge to make sure the model you check in contains all the changes it needs to contain. Are your modellers organised enough to do that? 🙂

MountainKing
Explorer

Food for thought! It would be good if somebody from SAP could comment on what the 'official' view of using PD and Git is, i.e. totally fine, OK with caveats, any missing functionality, etc.

GeorgeMcGeachie
Active Contributor
0 Kudos

GIT can version files for you, if that's all you want to do. Here are a few things that the repository can do, but I don't think GIT can support:

  • traceability between objects in different models - e.g. CDM Data Item - CDM Attribute - LDM Attribute - XML Attribute or PDM column
  • extending impact and lineage analysis, beyond the models you have open in the workspace
  • automated sharing of common models and PowerDesigner resources (such as model extensions and user profiles) with all repository users
  • automated application of customised user interfaces and general preferences to selected users
  • validation of names and codes against terms in the Glossary
  • managing name-code conversions via the Glossary
  • permissions at package level, within a model
  • provide search and navigation of models, and the links between them, via a web portal
  • the ability to provide comments on model objects, via a web portal
  • depending on your licence, the ability to edit EA and BPM models via a web portal

GIT would be OK if you're using PowerDesigner to create models for projects, perhaps LDM-PDM pairs, though I think you'd have problems with reuse, such as finding an existing "Customer Account" entity that you know must already exist.

In the above, I've assumed that GIT has no knowledge of the content of a PowerDesigner model, treating as an XML document with unknown content.