You can translate the question and the replies:

VCS Pull Problems

I encounter some pull problems with denodo VCS git. Suppose I have two DB, one is Main_DB, the other is Sub_DB, Sub_DB code was checked out from Main_DB branch on 2020-05-01 (which means I checked out a new branch from Main_DB branch), on Main_DB there was some object deletion (suppose object A) happend on 2020-05-02 and commit, push to Main_DB git branch, and then on 2020-05-03 Sub_DB was checkout again from Main_DB latest code (which means I checked out a new branch from Main_DB branch), and in Database level (right click Sub_DB, choose VCS-->pull), in the prompt window, choose "Remote" , and then click "Resolve Conflict". After Sub_DB pull code from git repo, what I am seeing, object A is still in Sub_DB with no icon (no green, no red, no yellow, that means element is not under version control yet.) My question is how can I have that deletion objects deleted when pull code from git repo? We may have many objects under this case, it is impossible for us to delete them one by one manually.
user
19-05-2020 23:04:30 -0400

3 Answers

Hi, I tried recreating the same situation by creating two identical databases, test1 and test2 connected to the same remote repository. Then, I deleted an object, a derived view, from test1 database and committed and pushed the database again into the repository. Once the changes were done in the repository, I pulled the entire database from the repository into the test2 database to check if the derived view which was deleted will also be deleted in this test2 database or not. I was able to confirm that this derived view was deleted from the test2 database so there wouldn’t be a need to delete these objects one by one manually. I would suggest: * Make sure that both the databases are connected to the same repository. * Check your repository to see if the object which you deleted from the Main_DB database was also deleted in the repository. In other words, check if the commit and push was successful. Hope this helps!
Denodo Team
20-05-2020 11:48:39 -0400
Hi team, Understand what you describe above. But there is some difference between we two's cases. In your cases, I think your two DBs are point the same branch. My case is, Main_DB ans Sub_DB are configured to two branches, and the the Branch of Sub_DB are checkour from the Branch of Main_DB. And after Main_DB change code and configured to its branch, I checkout a new branch for Sub_DB, and configure Sub_DB to ponit to this new Branch, then I pull for Sub_DB from this new branch, I see the objects that deleted in Main_DB cannot be deleted in Sub_DB as expected and need to be deleted manually.
user
24-05-2020 22:40:17 -0400
Hi, Thanks for providing more details. I tried re-creating the same situation and was able to confirm the problem you are experiencing, which is an object not getting deleted in the other database. When you change Sub_DB to point to a new branch, it is essentially resetting the git integration, so the views of that database are no longer under version control. When you reintegrate with VCS, the views that exist in the new branch that you have created are reintegrated with VCS. However, the views that are not existing in the newly created branch and only exist in Sub_DB are not added to the version control and simply let Sub_DB to not be under VCS rather than being dropped. A possible solution would be to keep the same branch for the Sub_DB rather than creating a new branch and configuring the Sub_DB to point to this new branch. For best practices on how this situation should be handled, you can refer to the [Practices When Using the Integration with a VCS](https://community.denodo.com/docs/html/browse/7.0/vdp/administration/version_control_systems_integration/best_practices_when_using_the_integration_with_a_vcs/best_practices_when_using_the_integration_with_a_vcs) section of the Virtual DataPort Administration Guide. Hope this helps!
Denodo Team
03-06-2020 17:15:26 -0400
You must sign in to add an answer. If you do not have an account, you can register here