Open leonklingele opened 4 years ago
I get the same panic when git clone dgit://demo/demo
directly.
That’s happening because you haven’t pushed anything to the remote yet. But we can definitely handle it better than crashing. Thanks for reporting!
I see a panic when I pull, and my repo is not empty. bqv/nixos.
Recently, pushes have started to fail too.
I get the same on a git clone after a successful git push.
hello everyone, thanks for the bug reports - we've identified a couple separate issues here and will be resolving them as fast as possible.
@leonklingele and @ryanolsonx your issues should be fixed here with the v0.0.13-alpha
@bqv still working on the bug you are running into - its also affecting the dgit://quorumcontrol/dgit
repo as well. I've opened a separate issue for that here: https://github.com/quorumcontrol/dgit/issues/56
Thanks all! Please give this new version a try and provide us with any feedback you have.
@leonklingele / @ryanolsonx , also to clarify you'll need to delete the remote branches from the dgit
repo and repush
assuming you have a dgit
remote:
git push dgit --delete master
git push dgit master
replacing master with the branch you attempted to previously push.
Still broken with dgit version v0.0.13-alpha
using the same steps from above :(
@leonklingele it appears that the demo/demo
repo still has pointers to corrupt sia objects for some reason. Using a new remote url should work fine for you, for example:
git remote rm dgit && git remote add dgit dgit://demo/demo2 && env DGIT_OBJ_STORAGE=siaskynet git push dgit
If you are wanting to use demo/demo
though, I can help you get it fixed up. I had to apply the same fix to a few of our internal repos. If you want to go this route, can you send the logs from the following?
dgit version && env DGIT_LOG_LEVEL=debug git push dgit --delete master && env DGIT_LOG_LEVEL=debug git push dgit master
@brandonwestcott thanks for helping! Here's the output of the second command:
$ dgit version && env DGIT_LOG_LEVEL=debug git push dgit --delete master && env DGIT_LOG_LEVEL=debug git push dgit master
dgit version v0.0.13-alpha
2020-04-04T01:23:04.726+0200 INFO dgit.cmd cmd/remotehelper.go:54 dgit remote helper loaded for .git
2020-04-04T01:23:05.847+0200 INFO dgit.runner remotehelper/runner.go:60 running git-remote-dgit on remote dgit with url dgit://demo/demo
2020-04-04T01:23:05.848+0200 INFO dgit.runner remotehelper/runner.go:94 received command on stdin capabilities
2020-04-04T01:23:05.848+0200 INFO dgit.runner remotehelper/runner.go:259 responding to git:
2020-04-04T01:23:05.848+0200 INFO dgit.runner remotehelper/runner.go:262 *push
2020-04-04T01:23:05.848+0200 INFO dgit.runner remotehelper/runner.go:262 *fetch
2020-04-04T01:23:05.848+0200 INFO dgit.runner remotehelper/runner.go:259 responding to git:
2020-04-04T01:23:05.848+0200 INFO dgit.runner remotehelper/runner.go:262
2020-04-04T01:23:05.848+0200 INFO dgit.runner remotehelper/runner.go:94 received command on stdin list for-push
2020-04-04T01:23:06.288+0200 DEBUG dgit.storage.chaintree chaintree/reference.go:109 fetching references under: [tree data refs]
2020-04-04T01:23:06.288+0200 DEBUG dgit.storage.chaintree chaintree/reference.go:109 fetching references under: [tree data refs heads]
2020-04-04T01:23:06.288+0200 DEBUG dgit.storage.chaintree chaintree/reference.go:109 fetching references under: [tree data refs heads master]
2020-04-04T01:23:06.289+0200 DEBUG dgit.storage.chaintree chaintree/reference.go:132 ref name is: refs/heads/master
2020-04-04T01:23:06.289+0200 DEBUG dgit.storage.chaintree chaintree/reference.go:133 val is: [someval]
2020-04-04T01:23:06.289+0200 INFO dgit.runner remotehelper/runner.go:259 responding to git:
2020-04-04T01:23:06.289+0200 INFO dgit.runner remotehelper/runner.go:262 @refs/heads/master HEAD
2020-04-04T01:23:06.289+0200 INFO dgit.runner remotehelper/runner.go:259 responding to git:
2020-04-04T01:23:06.289+0200 INFO dgit.runner remotehelper/runner.go:262 [someval] refs/heads/master
2020-04-04T01:23:06.289+0200 INFO dgit.runner remotehelper/runner.go:259 responding to git:
2020-04-04T01:23:06.289+0200 INFO dgit.runner remotehelper/runner.go:262
2020-04-04T01:23:06.289+0200 INFO dgit.runner remotehelper/runner.go:94 received command on stdin push :refs/heads/master
2020-04-04T01:23:10.822+0200 DEBUG dgit.runner remotehelper/runner.go:167 auth for push: private-key-auth 0x..
2020-04-04T01:23:10.832+0200 DEBUG dgit.storage.chaintree chaintree/reference.go:109 fetching references under: [tree data refs]
2020-04-04T01:23:10.833+0200 DEBUG dgit.storage.chaintree chaintree/reference.go:109 fetching references under: [tree data refs heads]
2020-04-04T01:23:10.833+0200 DEBUG dgit.storage.chaintree chaintree/reference.go:109 fetching references under: [tree data refs heads master]
2020-04-04T01:23:10.833+0200 DEBUG dgit.storage.chaintree chaintree/reference.go:132 ref name is: refs/heads/master
2020-04-04T01:23:10.833+0200 DEBUG dgit.storage.chaintree chaintree/reference.go:133 val is: [someval]
2020-04-04T01:23:10.835+0200 INFO dgit.runner remotehelper/runner.go:259 responding to git:
2020-04-04T01:23:10.835+0200 INFO dgit.runner remotehelper/runner.go:262 error refs/heads/master error creating NewAddBlockRequest: error processing block (valid: false): <nil>
2020-04-04T01:23:10.835+0200 INFO dgit.runner remotehelper/runner.go:94 received command on stdin
To dgit://demo/demo
! [remote rejected] master (error creating NewAddBlockRequest: error processing block (valid: false): <nil>)
error: failed to push some refs to 'dgit://demo/demo'
@leonklingele thanks - I've opened a ticket for a better error message here, but the error processing block (valid: false)
indicates that the private key stored for dgit on that machine is not the owner of the repository as stored on the Tupelo network. We are in the process of making username, login, and collaborator improvements, which will help recovery from this issue in the near future.
At this point, its probably easiest to just make a new dgit remote url (example below) - that will ensure that you are the owner:
git remote rm dgit && git remote add dgit dgit://demo/demo2 && env DGIT_OBJ_STORAGE=siaskynet git push dgit
Apologies for the troubles getting rolling - we initially developed this alpha version as an exploration / spike, but we've received an immense amount of great feedback and interest that we are actively investing to make this an awesome tool.
Narrowing the scope of this issue to just "don't crash on git pulling an empty repo." Issues outside of that will be tracked separately.