What version of python are you running? I had some problems (don't remember exactly what) when I updated to the new appengine SDK and it wanted a newer version of python.
You could try moving your git repo away and cloning a fresh one. Note that you generally can't clone a repo from ghilbert-app.appspot.com because its implementation of git is too slow. Instead you can clone from (e.g.) g...@github.com/abliss/ghilbert-app and then manually add ghilbert-app.appspot.com as a remote. I think Jim wrote a wiki page on the exact commands to achieve this.
--
You received this message because you are subscribed to the Google Groups "Ghilbert" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ghilbert+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
My guess is that you have hit a scalability limit in the babygit python implementation.
I tried your command on my device and saw similarly poor performance. It seemed to get better if I changed "blocksize" and "nblocks" in "babygit/appengine.py". I can't say I understand exactly what they do, but I multiplied both by 100 and the "git push" command was able to finish.
I also noticed (by doing an strace) that the python app does an awful lot of file churning in /tmp. So you might get better performance by tweaking that filesystem (e.g. moving it to ramfs if it isn't already; or giving it more memory to work with).
One might hope for a way to skip all this git->appengine->blobstore stuff by simply copying files from .git/objects to /tmp/dev_appserver.blobstore/dev~ghilbert-app/, but I was not able to casually deduce the relationship between their structures.
Perhaps this would be an appropriate time for me to pitch the storage model I'm pursuing with caghni ( http://github.com/abliss/caghni ):
1. Rather than the unit of storage being a file (.gh or ghi), the unit of storage is a single thm or stmt command.
a. This means taking a bit more space, since each thm must essentially redeclare the interface consisting of all its dependencies.
b. But there is enough information to pass between this storage system and the .gh/.ghi file format, in case some users want to interact with the system that way.
2. Rather than a diff-oriented DVCS with branching and history, the store is simply a flat collection of content-addressable documents.
a. This means replication should be pretty straightforward, even for very large repositories. See couchdb or camlistore for examples.
b. There is no need to ever delete from the datastore. Each thm that goes in is verified upon insertion, and is always guaranteed to be useful. If someone submits a newer, better proof of a given theorem, it can simply be ranked higher. If space becomes a concern, we can GC the old ones away at leisure, but there is no need to ever propagate deletes.
3. Naturally, this system lends itself to the main goal of caghni: mixing and matching theorems from different ghilbert domains (even ones that are based on different sets of axioms and use different spelling for their terms and kinds).
a. This problem has proven surprisingly thorny but I have a system more or less working now.
Any thoughts from the peanut gallery?