Jump to content

Repository suddenly disappeared


andsee

Recommended Posts

Hi,

 

I'm hoping someone can help me here to relink my repository and possibly explain how this has occurred.

 

The plastic server has been running fine for over a year with no issues. Today however it has lost our main repository, to be clear all other repositories are still listed in the list of Repositories except our main one.

 

I've had a quick nose around the sql databases and the repositories database repository table also has no entry for our missing repository!

 

There is however a rep_2 database which appears to be our repository.

 

So is there a way I can relink this database into plastic?

 

And any idea how this could have occurred? Any logs I should look at etc...

 

Many many thanks for any pointers....

 

I'm using version 4.1.10.450 of the plastic server with a MySQL backend.

Link to comment
Share on other sites

Well what are the chances of that? Someone else with a similar issue posted a question just hours ago...

 

http://www.plasticscm.net/index.php?/topic/1740-restoring-deleted-repository-on-sql-server-backend/?hl=%2Brepository+%2Bdatabase

 

it looks as though cm addrep has brought the repository back to life phew!

 

I'd be interested in knowing how to track down why the repository was removed, there are only 3 people with access to it and none of whom believe they removed the repository.

 

Thanks

Link to comment
Share on other sites

Hi andsee,

 

the post you are linking is 3 months old.

 

The "cm addrep" command will do the work. This is how you should use it:

cm addrep REP_2 default repserver:REPSERVER:8087

If you post here the "ChanneclCall.txt" log file we can review what went wrong.

Link to comment
Share on other sites

Ah yes, sorry, I had a search on (obviously better search than my first attempt before posting the question) which had filtered the posts. Never mind. Thanks for the quick reply, cm addrep has us back up and running.

 

I'll grab that log when I have access to the server again later today, hopefully we can identify the issue. I've confirmed with the other two users that they did not knowingly delete the repository, indeed they said they didn't know how to and they don't even access the repository area of the interface.

Link to comment
Share on other sites

Take a look into the following info:

 

2013-07-03 18:12:35,538   INFO  ChannelCall - recb:   533|rect:  0|sentb:   284|sendt:  0|prt:      78|th:22276|dest:   0|mt:      78|sert:   0|zip:   0|  90.217.156.200|DeleteRepository
2013-07-03 18:12:39,030   INFO  ChannelCall - recb:   533|rect:  0|sentb:   284|sendt:  0|prt:      78|th:13840|dest:   0|mt:      78|sert:   0|zip:   0|  90.217.156.200|DeleteRepository
2013-07-03 18:12:42,277   INFO  ChannelCall - recb:   533|rect:  0|sentb:   284|sendt:  0|prt:      32|th:10260|dest:   0|mt:      32|sert:   0|zip:   0|  90.217.156.200|DeleteRepository

 

There're 3 "DeleteRepository" actions coming from the "90.217.156.200" IP. The date matches with your issue.

 

You can take a look into the "audit.log" file, it's also placed in the Plastic SCM server directory. You will see something like:

 

 

0ZOUGoy6eGSkL+WqVxme3cC7hyjjFYmkL4fpZZc11Ec= Developer1242 (COLADA-PC) 7/8/2013 10:44:20 AM []: Repository deleted: CodeRepository (5)
Link to comment
Share on other sites

  • 5 months later...

Hello,

 

I just had a repository that I had been working on suddenly vanish. I have been using sqlite as a backend. I have two other repositories that are still intact according to Plastic SCM. When I go into my plastic server directory, I have the following files:

 

rep_1.plastic.sdf

rep_2.plastic.sdf

rep_2.plastic.sqlite

rep_4.plastic.sdf

rep_5.plastic.sdf

rep_5.plastic.sqlite

rep_6.plastic.sdf

rep_7.plastic.sdf

rep_8.plastic.sdf

rep_9.plastic.sdf

rep_10.plastic.sdf

 

"cm lrep" produces:

 

2 2D Platformer localhost:8087

5 Pong localhost:8087

 

There should be another repository named "Pixelnest Tutorial" in there. I did not delete Pixelnest Tutorial either manually or through the Plastic SCM interface.

 

If I attempt to use "cm addrep" on any of the other repository #s, using this command:

"cm addrep rep_# "Pixelnest Tutorial" localhost:8087", Plastic SCM replies with:

"The repository database rep_# doesn't exist on the database backend."

I have tried #=1,4,6,7,8,9,10.

 

I have looked in audit.log and ChannelCall.log.txt (attached) for any signs of what happened but cannot find anything.

 

Is there anything I can do to recover my repository?

 

Thanks for looking at this.

 

ChannelCall.log.txt

audit.log.txt

Link to comment
Share on other sites

Just to clarify. When I first installed Plastic SCM, I was using the default database for Windows (Microsoft SQL CE). I then switched to using sqlite. I created all three of my working repositories after I had switched to sqlite. So there should be a third .sqlite file in the server directory but there are only two.

Link to comment
Share on other sites

Hi,

 

If you didn´t manually delete the repository, it should be there (checking "audit.log.txt" it seems that you deleted some repositories). Anyway, deleting the repository using Plastic only unlinks the repository but it doesn´t delete the file.

 

Could you open "db.conf" files (server folder) and check if a   <DatabasePath></DatabasePath> is set? If a concrete path is not selected, by default, the database files are stored in the server folder.

 

Could you also check if you are logged as repository server owner with all permissions? 

 

Regards,

Carlos

Link to comment
Share on other sites

Hi,

 

If you didn´t manually delete the repository, it should be there (checking "audit.log.txt" it seems that you deleted some repositories). Anyway, deleting the repository using Plastic only unlinks the repository but it doesn´t delete the file.

 

Could you open "db.conf" files (server folder) and check if a   <DatabasePath></DatabasePath> is set? If a concrete path is not selected, by default, the database files are stored in the server folder.

 

Could you also check if you are logged as repository server owner with all permissions? 

 

Regards,

Carlos

 

Thanks for the reply Carlos,

 

Although I did delete some repositories when I was using Microsoft SQL CE as the backend, I never deleted any repositories after I had switched to using sqlite as the backend. Note that I did some work on the "Pixelnest Tutorial" repository on Dec. 31st in the morning and when I tried opening Plastic SCM later that day it complained, 

 

"The specified repository couldn't be found: Pixelnest Tutorial."

 

If you look at the audit.log, you will see I deleted a repository "Pixelnest Tutorial" on Dec. 29th. This was when I was using the default Microsoft SQL CE as the backend. I switched to sqlite, created a new "Pixelnest Tutorial" repository, and worked on that up until Dec. 31st.

 

I attached my db.conf file. It shows that I am storing the database in the server directory (i.e., there is no path setting).

 

I'm sorry for my ignorance, but how do I check if I am logged as repository server owner with all permissions? When I run the "Users and group management" tool from the Server tools folder, it warns me "Plastic SCM has detected that your server configuration is not set to use user/password provider. This tool manages users and groups that are only available for user/password authentication mode. So changes will not be effective until you select this authentication mode."

 

However, when setting up everything initially, I do remember setting up one e-mail/password combo for the server. Note that I can still open the other two repositories without a problem (the ones named "2D Platformer" and "Pong").

 

Looking at the database files in the server folder, is it possible that the "Pixelnest Tutorial" database was saved out in .sdf format even though I had switched to the sqlite backend? Either that or the database appears to have disappeared completely.

 

Thanks again.

db.conf.txt

Link to comment
Share on other sites

Hi,

 

To check the repository server owner open Plastic GUI --> repositories --> right click on a repository --> Repository server permissions.  You will be able to configure the owner and the different permissions.

 

Then open a command line and run "cm whoami" and review that the user you are logged in is the repository server owner (he has all the permissions).

 

If you switched to sqlite before creating the missing database, it should have sqlite format.

 

Anyway, Plastic never deletes the database files, only unlink them. You can switch again to SQL CE to check if some of the SQL CE databases contain your missing repository and then switch back to SQLite again.

 

Regards,

Carlos

Link to comment
Share on other sites

Hi,

 

To check the repository server owner open Plastic GUI --> repositories --> right click on a repository --> Repository server permissions.  You will be able to configure the owner and the different permissions.

 

Then open a command line and run "cm whoami" and review that the user you are logged in is the repository server owner (he has all the permissions).

 

If you switched to sqlite before creating the missing database, it should have sqlite format.

 

Anyway, Plastic never deletes the database files, only unlink them. You can switch again to SQL CE to check if some of the SQL CE databases contain your missing repository and then switch back to SQLite again.

 

Regards,

Carlos

 

Thanks for the response.

 

If I start the GUI, I can only see the two repositories (Pong and 2D Platformer), not the one that went missing. That being said, I can verify that I am the owner of both of the repositories that I can actually see.

 

I copied the database (.sdf and .sqlite) files to a backup location and used an .sdf viewer to look at some of them. It appears that rep_10.plastic.sdf contains all my check-ins for the missing repository (I viewed the "object" table in the .sdf file and can see all my check-in comments there). However, this is very strange because at the time I was using sqlite as my database backend. It appears that Plastic SCM saved out my database in .sdf format even though I had specified sqlite.

 

Anyway, I switched to the Microsoft SQL CE backend, used the "cm addrep" command, and now my repository is restored. So thank you.

 

I think I might install a fresh copy of PlasticSCM and use sqlite from the start to avoid this issue in the future.

Link to comment
Share on other sites

  • 6 months later...

I have the same issue, all my repositories are gone. I don't understand, many people talking about this already and there seems that no one gonna fix that. I confirm that I (and possibly all other people around here) won't stupid enough to manually delete the repositories and then come here to complain. I used the embed SQLite, too.

 

Please fix this, this is a critical bug. Everything is working fine before I restarted windows, after that everything is gone. The only repository I deleted is the default one.

 

I had a look through the audit.log, seem that there are two lines saying that repository deleted, look at the time, that is when I open the PlasticSCM5 this morning, the software says that repository does not exist.

 

Thanks.

Link to comment
Share on other sites

I also got time out error frequently when trying to gitsync, and sometimes it shows this error :

Assertion failed !
Program: C:\ProgramFiles\PlasticSCM5\client\plastic.exe File: ..\src\pack.c Line 818 Expression: p

Please have a look.

 

thanks.

Link to comment
Share on other sites

Please don't mess the forum thread with issues coming from the gitsync, create a proper thread for it and let's keep this one clean.

 

Please attach us the:

  • "ChannelCall.log.txt" file
  • All your "db.conf*" files
  • audit file log

 

We are here to help but please be polite and report the issues with all the info requested to the guys having similar issues than you.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...