Collaboration Plugin Merge Issue

Started by audreykoz, October 04, 2018, 19:42:28 PM

Previous topic - Next topic

audreykoz

October 04, 2018, 19:42:28 PM Last Edit: October 04, 2018, 20:15:04 PM by audreykoz
Hi guys,
So I've come across an issue with the collaboration plugin and/or git. I have a model stored in a git repo that we've been using the collaboration plugin with. So far, it's been great, however, we've had an incident where one member of our team forgot to pull changes before trying to commit his. From what I can tell happened, he got an error message when this happened, and then his changes were pushed and ours were deleted. Does the plugin have push --force capability? I've tried looking through the merge to see what happened, and there isn't any log of our files being deleted. They exist in the model history at the point they were created, but don't have any record of being deleted when he made his merge.
This is also strange because as far as we can tell, the files that were deleted weren't changed by the new commit, so there shouldn't be anything complicated about merging them. There is a chance that the folder documentation for a folder containing the deleted files was edited, but we're not sure if that happened, would that make a difference?
It is possible for me to manually restore these files as we imported them from a SQLite database created using Herve's plugin, but we'd like to have a non-manual workaround for the future.
Has this happened with anyone else? What should we do?
Thanks!

Jean-Baptiste Sarrodie

Hi,

The easiest way to solve your issue might be to roll back the last (and faulty) commit using a gui client (like smartgit) adding a revert commit, and do a push. This should at least allow everybody to recover their work.

FWIW, you should not do a refresh before a publish: refresh is just meant to get new changes when you haven't worked for a long time but were previously up to date. A publish is equivalent to a git pull, i.e. it gets all remote changes, merges them to you local work and then publish (never with a --force).

What might have happened is the following:  a publish has be attempted but aborted (because of some conflicts), then some work has been done on the model and committed using the "amend last commit" option, then a new publish. This sequence can lead to the local model been saved has the merge commit and then pushed.

Do you think something like this could have happened ?

Regards,

JB
If you value and use Archi please consider making a donation! https://www.archimatetool.com/donate

Jean-Baptiste Sarrodie

Hi,

Could look at this issue which better explain my previous explanation to see if this is similar or not.

Regards,

JB
If you value and use Archi please consider making a donation! https://www.archimatetool.com/donate

audreykoz

Hmmm okay, that makes sense. I can't confirm that that's what happened as I wasn't the one who did the merge in this case, but this seems like the most likely explanation vs some weird git behavior. It could also be that canceling the dialog box didn't clean up the merge state as mentioned in the GitHub thread, however, I can't reproduce this right now so I'm going to focus on trying to restore our model.
Thanks!