Repository has been changed on the server.

Using Servoy Version: 4.1.3 - build 672 on OS X 10.5.7.

When I tried to commit my modifications to the repository today, I got the following error:

Repository has been changed on the server.

I did not knowingly change anything on the repository server, all I did was work on my solution. The only thing a bit out of the ordinary that I did, was trying to turn on tracking to a log_server, which was going to be a MySQL DB (this did not work either, but I will try it again and maybe post another topic). As repository server I use the sybase.
When I checked in the Server Administration I saw that the solution was missing in the “Solutions” tab. When nothing worked (restart of Servoy, restart of the OS…), I exported the solution, deleted it in Eclipse and imported it again in Server Admin. The first time I tried, I did not delete the content of the workspace. Almost everything seemed to work. I was able to synchronize the forms, but all the media files were missing and when I tried to synchronize the entire solution I had the original missing repository error again. I deleted everything again, this time including the content in the servoy_workspace, and did another import.
When I tried to share the solution in Eclipse I get the message there already is a solution with that name. I said share anyway. When I try to synchronize, I get the same error message again (Repository has been changed on the server).

How can this be fixed? And how can it happen in the first place?

Thanks!
Reto

PS: I just installed Sybase Central and when I was doing a database search I saw that servoy_repository is in there 5 times (Addresses: 10.211.55.2, 10.37.129.2, fe80::1%1,fe80::21c42ff:fe00:8%7, fe80::1%1,fe80::21c42ff:fe00:9%8, port always 2638). Is this normal?

This happens when you try to commit to a different repository than your solution was checked out from.So, wasn’t it connected to a different repository ?

It appears so. I didn’t even know that I have different repositories on the machine. They must be remains from old installations.
What’s the best way to clean this up and avoid in the future? Should I do a new installation of Servoy and import my solution again?
Thanks,
Reto

xtsr:
It appears so. I didn’t even know that I have different repositories on the machine. They must be remains from old installations.
What’s the best way to clean this up and avoid in the future? Should I do a new installation of Servoy and import my solution again?
Thanks,
Reto

Well, it depends. I would try to figure out why there are more repositories and to which you want to connect.You can do multiple things: export/import the solution, use another workspace , connect to correct repository …

, connect to correct repository

I would try that too, if I knew how… :wink:
In Servoy I just enter the name of the database and the port number. I don’t know how Servoy chooses the server or how I could influence that. As I mention, there are 5 listings named servoy_repository, each with a different address.

When you checkout from servoy team provider it stores the address of the solution (basically, ip and port). Then, every time a team operation is done it will connect to same address. The repository also has a unique id, and if , at some point, the repository id it finds at address is not the same as the initial id (also stored at checkout) will throw this error (so, for example the repository database has been manually replaced). If you want to use another repository you can unshare/share solution again. Or, export/import/checkout again.

Thank you for your explanation. I assume that I can try to remove all repository servers, but one. Then import/checkout the solution again. This way I should not run into the same problem again. Correct?

xtsr:
Thank you for your explanation. I assume that I can try to remove all repository servers, but one. Then import/checkout the solution again. This way I should not run into the same problem again. Correct?

Yes, that is correct (if don’t replace the database somehow ). Did you checkout from localhost ? Maybe the problem is related to having more repositories on localhost ?

After quite a lot of manual sychronizing/merging/commiting… my solution works again. I deleted the solution in Eclipse, imported the latest version (server admin) and did a checkout again in Eclipse.
Checking out was always on localhost and the repository is also on the localhost. I still don’t know how it happend that the repository id did not match anymore, but I’m glad it’s OK again.
Thanks!