Jump to content

Portable Repositories/Server


Recommended Posts

I have previously created an SVN repo on a memory key - works great for having things with me. Just wondering if it's possible to or planned to be able to use Plastic in the same way at some point? It's a little different from installing it locally and synchronising between servers - in my current situation I'm not able to connect the two ends together in order to synchronise them, so would be good to just carry the server data around with me.

Cheers,

James.

Link to comment
Share on other sites

The Plastic SCM server can be started using the command line, as svn does with the "svnserve".

In Plastic SCM you just need to start the server like this:

$> plasticd.exe --console

So if you copy the Plastic SCM server directory and you paste it inside a memory key it must start without problems. Yo can do the same with the client and the workspaces.

Link to comment
Share on other sites

Well, you cannot have two pieces of software using the same IP:Port combination, so if your server is running locally and you start up a new console it either: A) Isn't bound to the network (ie. can't do replication) or B) It's bound using a different IP:Port combination.

Just speaking generally from a network perspective. :)

Link to comment
Share on other sites

I finally got round to trying this, but it doesn't quite work in the way I was hoping - the server starts up fine, but one of the computers I'd like to do this on has it's own plastic client installation pointing at a different server / set of repositories etc. When I try to start the client from the pen drive, it seems like it wants to use the config of the installed client and connect off to the other server - is there a way to get it to use a local config on the pen drive also?

Thanks,

James.

Link to comment
Share on other sites

Yes - the above is with everything running from the pendrive. Even when it's running off the pen drive though, it uses the config file from my local user data folder. I notice the server has a command line option for specifying where it's config file lives, but it doesn't seem like the client has the same option (or at least it's not documented in the same way). The result is that the client does start from the pen drive, but reads the config of the local install and attempts to connect to my locally configured server rather than using a seperate config defining the repos/workspaces on the pendrive.

Glad for any further pointers though - I might have missed something obvious :)

Link to comment
Share on other sites

hey! it's easy! create a "client.conf" and a "plastic.workspaces" inside your pendrive client directory.

Then configure the pendrive client (plastic --configure) and the configuration will be stored into the new client.conf file.

You will be able to open the pendrive client and create pendirve workspaces! :)

This is the way Plastic SCM client searches for configuration files.

1) Inside the client binaries directory.

2) Workspace location

3) OS user directory

Link to comment
Share on other sites

I guess you are using the cm.exe that you have on the PATH variable so it's pointing to your machine server.

I recommend you to rename the pendrive ".exe" files into pcm.exe for example, put a "p" letter just before the name to make sure you are not confusing the binaries.

So running a pcm.exe or pplastic.exe will allways run the one in the pendrive (add the client pendirve to the PATH variable)

Link to comment
Share on other sites

Just to add my 2 cents here...

Works like a charm! It's perfect! But there's some points that needs attention:

  • When creating the Workspace, maybe you'll need to manually change the path of workspace in the plastic.workspaces. In my case, my pen drive is mapped in different letters on each machine.
  • I don't remember right now, but I had to hack the plastic.wktree file to change the name of one of the machines that was hard-coded. It took me 2 hours to find out what was happening. Yes, it's a binary file, but you can edit using notepad++.
  • When launching the "plastic.exe --configure" to configure your workspace, ALWAYS USE THE LOCALHOST as the SERVER. I think that this was the problem of the above situation.

That's it!

Hope you enjoy your portable Plastic as much as I'm doing right now. I wish I knew it a few months.

Thanks for the tips and Manu, thanks for point out the happy path! :)

Link to comment
Share on other sites

  • 10 months later...

Hi!

 

It's an old topic but I'm having trouble using the client from the pendrive.

When I type plastic.exe inside the client folder, this error message is displayed:

 

post-188-0-97530500-1366888189_thumb.png

 

I've copied the dll from the server folder to the client folder but did not worked.

when I started the server this is shown in the cmd:

 

E:\PlasticSCM4\server>plasticd.exe --console
Creating ServerSink
Creating ServerSink
Plastic SCM daemon up. 4.2.30.416 889 ms startup time

 

But my repos are not there.

I tried to add the repo to the server, BUT the same error is displayed in the cmd:

 

 

E:\PlasticSCM4\client>cm addrep Doxicobol rep_2
Adds an existing repository database to the system.

Usage:

cm addrep databasename name repserverspec

databasename: the name of the database on the database backend


E:\PlasticSCM4\client>cm addrep Doxicobol rep_2 localhost:8087


Error: There has been an unexpected error "Não foi possível carregar arquivo ou
assembly 'System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=
db937bc2d44ff139' ou uma de suas dependências. Foi feita uma tentativa de se car
regar um programa com um formato incorreto.". For more information check the ser
ver log.

 

 

I know it's not the "recommended way" to use plastic, I just want to show it for some co-workers!

 

Thanks in advance!

Link to comment
Share on other sites

Just to add more info...

The server's log is this:

 

 

2013-04-25 08:21:00,173 34a99635-9e11-4d5f-aab9-e55cffe48350 MASTERDOMAIN\INF-PLACIDO at Server:INF-PLACIDO INFO Transaction - Transaction timeout -> 120000ms
2013-04-25 08:21:00,219 34a99635-9e11-4d5f-aab9-e55cffe48350 MASTERDOMAIN\INF-PLACIDO at Server:INF-PLACIDO INFO Transaction - RollbackArea -- Transaction removed 34a99635-9e11-4d5f-aab9-e55cffe48350
2013-04-25 08:21:00,235 MASTERDOMAIN\INF-PLACIDO at ERROR Transaction - Could not load file or assembly 'System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139' or one of its dependencies. Foi feita uma tentativa de se carregar um programa com um formato incorreto. at pc.a(String A_0, String A_1, CmConnectionType A_2)
at Codice.CM.Data.DataConnection.b(String A_0, String A_1, CmConnectionType A_2)
at Codice.CM.Data.DataConnection.GetRepositoriesConnection(CmConnectionType conType)
at aw.a()
at SecurityManager.License.LicenseManager.a(DateTime& A_0, Boolean& A_1, DateTime& A_2)
at SecurityManager.License.LicenseManager.a(LicenseData A_0, Boolean A_1)
at SecurityManager.License.LicenseManager.a(Boolean A_0)
at SecurityManager.License.LicenseManager.c()
at Codice.CM.Server.TransactionManager.ExecuteServerTransactedCall(DoServerTransactedCallDelegate call)
2013-04-25 08:21:00,235 MASTERDOMAIN\INF-PLACIDO at ERROR Codice.CM.Server.RepositoryHandler - Could not load file or assembly 'System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139' or one of its dependencies. Foi feita uma tentativa de se carregar um programa com um formato incorreto. at pc.a(String A_0, String A_1, CmConnectionType A_2)
at Codice.CM.Data.DataConnection.b(String A_0, String A_1, CmConnectionType A_2)
at Codice.CM.Data.DataConnection.GetRepositoriesConnection(CmConnectionType conType)
at aw.a()
at SecurityManager.License.LicenseManager.a(DateTime& A_0, Boolean& A_1, DateTime& A_2)
at SecurityManager.License.LicenseManager.a(LicenseData A_0, Boolean A_1)
at SecurityManager.License.LicenseManager.a(Boolean A_0)
at SecurityManager.License.LicenseManager.c()
at Codice.CM.Server.TransactionManager.ExecuteServerTransactedCall(DoServerTransactedCallDelegate call)
at SecurityManager.License.LicenseManager.d()
at SecurityManager.License.LicenseManager.Init()
at Codice.CM.Server.RepositoryHandler.InitService()
2013-04-25 08:21:00,251 3a8be003-b42f-42a8-a318-a7a8e261f871 MASTERDOMAIN\INF-PLACIDO at Server:INF-PLACIDO ERROR Trigger - There was an error loading the triggers. Error: Could not load file or assembly 'System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139' or one of its dependencies. Foi feita uma tentativa de se carregar um programa com um formato incorreto.
2013-04-25 08:21:00,282 MASTERDOMAIN\INF-PLACIDO at INFO Channel - 'sinklevel' compression mode set. all metadata will be serialized
2013-04-25 08:21:00,282 MASTERDOMAIN\INF-PLACIDO at INFO Channel - 'BufferPoolMax' is set to '10'. It sets the maximum number of available buffers for object data transfers
2013-04-25 08:21:00,282 MASTERDOMAIN\INF-PLACIDO at INFO Channel - 'SerializationObjectsAtSink' is set to 'True'. True means SerializationBase descendants are directly written into the response buffer
2013-04-25 08:21:00,313 MASTERDOMAIN\INF-PLACIDO at INFO Channel - Start listening
2013-04-25 08:21:00,313 MASTERDOMAIN\INF-PLACIDO at INFO Channel - 'sinklevel' compression mode set. all metadata will be serialized
2013-04-25 08:21:00,313 MASTERDOMAIN\INF-PLACIDO at INFO Channel - 'BufferPoolMax' is set to '10'. It sets the maximum number of available buffers for object data transfers
2013-04-25 08:21:00,313 MASTERDOMAIN\INF-PLACIDO at INFO Channel - 'SerializationObjectsAtSink' is set to 'True'. True means SerializationBase descendants are directly written into the response buffer
2013-04-25 08:21:00,329 MASTERDOMAIN\INF-PLACIDO at INFO Channel - Using certificate file ssl-certificate.pfx
2013-04-25 08:21:00,391 MASTERDOMAIN\INF-PLACIDO at INFO Channel - Start listening

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...