4

For reference, see the issue https://github.com/drmeister/clasp/issues/98

To reproduce, do the following:

git clone git://github.com/drmeister/clasp claspcl
cd claspcl
git checkout tags/0.3-test-3
git submodule update --init

The result is:

git submodule update --init
Submodule 'updatedAsdf' (https://github.com/drmeister/asdf.git) registered for path 'src/lisp/kernel/asdf'
Submodule 'src/lisp/kernel/contrib/sicl' (https://github.com/drmeister/SICL.git) registered for path 'src/lisp/kernel/contrib/sicl'
Submodule 'src/mps' (https://github.com/Ravenbrook/mps-temporary) registered for path 'src/mps'
Cloning into 'src/lisp/kernel/asdf'...
remote: Counting objects: 13416, done.
remote: Total 13416 (delta 0), reused 0 (delta 0), pack-reused 13416
Receiving objects: 100% (13416/13416), 5.34 MiB | 838.00 KiB/s, done.
Resolving deltas: 100% (9935/9935), done.
Checking connectivity... done.
Submodule path 'src/lisp/kernel/asdf': checked out 'dcd692a8f9f6a5cb86133123e1c433a9afb4e7e9'
Cloning into 'src/lisp/kernel/contrib/sicl'...
remote: Counting objects: 49356, done.
remote: Total 49356 (delta 0), reused 0 (delta 0), pack-reused 49356
Receiving objects: 100% (49356/49356), 8.49 MiB | 298.00 KiB/s, done.
Resolving deltas: 100% (37020/37020), done.
Checking connectivity... done.
fatal: reference is not a tree: 280c12ab49223c64c6f914944287a7d049cf4dd0
Cloning into 'src/mps'...
remote: Counting objects: 25250, done.
remote: Total 25250 (delta 0), reused 0 (delta 0), pack-reused 25250
Receiving objects: 100% (25250/25250), 86.87 MiB | 831.00 KiB/s, done.
Resolving deltas: 100% (15851/15851), done.
Checking connectivity... done.
Submodule path 'src/mps': checked out '3e6640e7eeb5d086adec18e6227a84da59898e1c'
Unable to checkout '280c12ab49223c64c6f914944287a7d049cf4dd0' in submodule path 'src/lisp/kernel/contrib/sicl'

As you can see, the reproduction recipe does not touch the sicl submodule. So, my best guess is that the clasp Git repository has a spurious reference to 280c12ab49223c64c6f914944287a7d049cf4dd0 somewhere inside it. The folks on #git also seemed to think this was plausible. As you can see, the reproduction recipe does not touch the sicl submodule. So, how best to resolve this problem? What kind of surgery is required for the clasp Git repository?

NOTE: the problem does not show up without the git checkout tags/0.3-test-3 step. So the problem is presumably in that particular branch, here fixnum.

1 Answer 1

1

I followed your instructions and was able to reproduce the problem.
Its not something you did, the object 280c12ab49223c64c6f914944287a7d049cf4dd0 is corrupted and there is nothing you can do in order to fix it.

I manged to do a workaround and to get the content of master:

git show 280c12ab49223c64c6f914944287a7d049cf4dd0
(will display bad object)
cd sicl
git checkout clos
git branch -d master
git fetch --all --prune
git checkout master
git fsck

After the above steps the git show 280c12ab49223c64c6f914944287a7d049cf4dd0 still display bad-object (since its a problem in the original repository)

But what that is more strange is the git fsck does not find any errors, i will look into it later on today.

As for now the workaround will allow you to continue your work.

Sign up to request clarification or add additional context in comments.

8 Comments

Thank you for the workaround. Can you tell me what the object 280c12ab49223c64c6f914944287a7d049cf4dd0 corresponds to? Is it a commit object of SICL? Then the problem is not with Clasp, but with SICL? And, what commands do I execute before your instructions? I would presumably need to fetch the SICL repos, at least.
You are right, the problem is in SICL. simply follow my instructions so you can continue your work. No need to do execute anything special. simply stand on the Clasp root folder and execute the commands starting from the second line.
Well, I upvoted, anyhow. But I'm still unclear about the problem. If I execute git show 280c12ab49223c64c6f914944287a7d049cf4dd0 in the Clasp root it gives the same error as inside SICL. To be clear, is this referring to an object in Clasp or SICL? If the latter, I don't understand why git show 280c12ab49223c64c6f914944287a7d049cf4dd0 would give a result in the Clasp root directory.
The problemtic commit is part of SICL. few minutes to find it for you.
Here is alink to the "problematic" commit github.com/drmeister/SICL/commit/…, as you can see its in SICL and you were unable to get the project code, I gave you the workaround so you will be able to grab the code.
|

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.