Jump to content

Does MacPlastic support git sync?


Recommended Posts

Ok, I'm sorry.... I didn't realize the mono bundled is not having all the dlls. We'll fix that.

 

I have a workaround, similar than the steps written here: http://www.plasticscm.net/index.php?/topic/3017-intellij-plugin/

 

1) Install Mono 3.0.3 MDK: http://download.mono-project.com/archive/3.0.3/macos-10-x86/

2) Download the client zip directory from here: https://www.plasticscm.com/download/5.4.16.691/macosx

3) Place the remoting.conf file "/Applications/macplastic.app/Contents/MonoBundle/remoting.conf" inside the "client" binaries dir.

4) Paste the attached libraries inside the "client" binaries dir. lib.zip

5) Use 

mono cm.exe sync databuilder@my-server.de:8087 git https://github.com/derkork/test-data-builder.git

In order to get the repository imported.

Make sure you use the mono 3.0.3 (mono --version will help you)

 

Link to post
Share on other sites

Well, a bit better, but still not quite there... 


 j.thomae$ ./cm sync databuilder@my-server.de:8087 git https://github.com/derkork/test-data-builder.git
Receiving references... -
Receiving references... \both contributors.
Receiving references... OK
Compressing objects... OK
Downloading... \ 2/3Error: Stream terminated early
failed to suspend thread 0xb03bd000, hopefully it is dead
failed to suspend thread 0xb039b000, hopefully it is dead

Nothing arrived at GitHub.

Link to post
Share on other sites

Contents of the CM script:

#!/bin/bash
DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
/Library/Frameworks/Mono.framework/Versions/Current/bin/mono $DIR/cm.exe $@

Output of mono --version

$ /Library/Frameworks/Mono.framework/Versions/Current/bin/mono --version
Mono JIT compiler version 3.0.3 (master/39c48d5 Tue Jan  8 12:12:24 EST 2013)
Copyright (C) 2002-2012 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
	TLS:           normal
	SIGSEGV:       altstack
	Notification:  kqueue
	Architecture:  x86
	Disabled:      none
	Misc:          softdebug 
	LLVM:          yes(3.1svn-mono)
	GC:            Included Boehm (with typed GC)

Link to post
Share on other sites

Just installed 692. Still no luck:

./cm sync databuilder@my-server.de:8087 git https://github.com/derkork/test-data-builder.git
Receiving references... /
Receiving references... -both contributors.
Receiving references... OK						
Compressing objects... OK						
Downloading... OK						
Processing objects:... |
- 1 changesets to pull
- 6 changesets to push

There are changes to push and pull.
Will pull the remote changes then you'll have to merge them and push the changes back.
Processing objects:... OK						
Importing... OK1/1      				
Synchronization completed

Results:
- Object count: 3
- Branches: 1
- Changesets involved: 1
- Branches with conflicts: 1
-- master
failed to suspend thread 0xb043f000, hopefully it is dead
failed to suspend thread 0xb041d000, hopefully it is dead


^C

Tried again:

j.thomae$ ./cm sync databuilder@my-server.de:8087 git https://github.com/derkork/test-data-builder.git
Receiving references... /
Receiving references... \The branch(es) /main has more than one head. Please, merge it to be able to continue synchronizing
failed to suspend thread 0xb043f000, hopefully it is dead
failed to suspend thread 0xb041d000, hopefully it is dead

^C

I had to Ctrl+C the process because it wouldn't stop on its own. Apart from that: how and where I would do the merging that plastic asks me to do? 

Link to post
Share on other sites

Ok, I tried to merge this stuff in the GUI client's branch explorer.

 

post-27641-0-23408200-1443021190_thumb.jpg

 

This didn't work out either, I got this wenn I clicked on "Process all merges":

 

post-27641-0-97707400-1443020933_thumb.jpg

 

The contents of .plastic4/guiclient.conf are:

.plastic4 j.thomae$ cat guiclient.conf 

switchtobranch=False
comparisonmethod=NotIgnore
mergeresolutiontype=Forced
showhiddenchangeditems=False
commitshowchanged=True
lastusedrepserver=my-server.de:8087
commitshowdeleted=True
commitcalculatemanuallymoved=True
resultencoding=NONE
showignoreditems=False
commitmovedtxtonlysameextension=False
commentshistorysize=10
commitmovedbinonlysameextension=True
commitshowprivates=True
commitshowcheckouts=True
lastusedrepository=databuilder@my-server.de:8087
encoding=NONE

*sigh* - it seems like this really isn't ready for primetime yet.

Link to post
Share on other sites

Just remove that file and start macplastic.

 

I'm testing push/pull and works fine for me, I can't understand why you need to kill it, I'm wondering if it's something related with the script, can you execute it directly?

 

 

/Library/Frameworks/Mono.framework/Versions/Current/bin/mono /path/to/cm.exe sync .......

 

If it gets to the same scenario get the process id and run:

 

sudo kill -QUIT PID

 

and postme the stacks.

Link to post
Share on other sites
j.thomae$ /Library/Frameworks/Mono.framework/Versions/Current/bin/mono ./cm.exe sync databuilder@my-server:8087 git https://github.com/derkork/test-data-builder.git
Receiving references... \
Receiving references... /The branch(es) /main has more than one head. Please, merge it to be able to continue synchronizing
failed to suspend thread 0xb043f000, hopefully it is dead
failed to suspend thread 0xb041d000, hopefully it is dead

<< HERE I issued the kill call
Full thread dump:
failed to suspend thread 0xa0b331d4, hopefully it is dead

^C

The kill call seemed to try to dump a thread dump but nothing of actual use was printed on the console. After the kill call I still had to Ctrl+C the process.

Link to post
Share on other sites

Thank you for the info. Yes, the -QUIT doesn't force the real kill (kill -9), only the stacktraces dump.

 

I'll try to reproduce your behavior, are you running the command from a regular Terminal (v2.3) window? can you tell me your MacOS version?

 

Can you also try to resolver the multiple head conflict and retry the push? I want to know if it's able to push the new changeset to gitHub even if the process can end by itself.

 

Thanks.

Link to post
Share on other sites

Yes I am using the regular terminal window (v2.5.3). OSX version is 10.10.5.  I resolved the merge conflict and retried the push, but I got this:

~/devel/tools/plasticscm/cm sync databuilder@my-server.de:8087 git https://github.com/derkork/test-data-builder.git
Receiving references... /
- master: Local changes (ef86d37)
Receiving references... -
- 0 changesets to pull
- 6 changesets to push

Receiving references... OK						
There are changes to push.
Error: The credentials introduced for the repository are not valid
failed to suspend thread 0xb043f000, hopefully it is dead
failed to suspend thread 0xb041d000, hopefully it is dead

^C

I was unable to find any documentation about how to set up git credentials with plasticscm so I don't know how to resolve this.

Link to post
Share on other sites

Thanks, I'll try then with your same OS, mine is older (10.8).

 

Credential... from the "cm sync" help:

Options:

    url                 Remote repository URL (http(s):// or git:// or a ssh URL).
    --user              User name for the specified URL.
    --pwd               Password for the specified URL.
Link to post
Share on other sites

Nope, still no luck:

~/devel/tools/plasticscm/cm sync databuilder@my-server.de:8087 git https://github.com/derkork/test-data-builder.git --user "myusername" --pwd "mypassword"
Error: The settings you've introduced don't match with the stored ones for branch/repo databuilder. Stored are: https://github.com/derkork/test-data-builder.git
failed to suspend thread 0xb043f000, hopefully it is dead
failed to suspend thread 0xb041d000, hopefully it is dead

^C
Link to post
Share on other sites

That worked. However it's still hanging at the end.

~/devel/tools/plasticscm/cm sync databuilder@my-server.de:8087 git https://github.com/derkork/test-data-builder.git --user="myuser" --pwd="mypassword"
Receiving references... |
Receiving references... /- master: Local changes (ef86d37)

- 0 changesets to pull
- 6 changesets to push

Receiving references... OK						
There are changes to push.
Exporting... OK4/6      				
Packaging...... OK						
Uploading... ... OK						
Synchronization completed

Results:
- Object count: 0
- Branches: 1
- Changesets involved: 6
- Branches with conflicts: 0
failed to suspend thread 0xb043f000, hopefully it is dead
failed to suspend thread 0xb041d000, hopefully it is dead


^C

On a related note, is there a way to store the credentials in a file so I don't have to add them as command line parameters (which is unsafe as anyone running ps on the machine can see my password then)?

Link to post
Share on other sites
  • 2 weeks later...
  • 5 years later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...