We are working on a storage system for patch information that makes it easy to work with versioning tools such as git/mercurial/bazaar and such.
Here is an overview of a project’s file organization (on local filesystem or remote on Mnémosyne server):
... <== base project directory. This is the current dir for the process .../A <== Everything for process with role "A" .../A/_patch.yml <== Patch for process with role "A" .../B <== Everything for process with role "B" .../B/_patch.yml <== Patch for process with role "B" .../B/foo.lua or ...[node:url()].lua <== Code for node 'foo' in process 'B' .../lib <== searched for required code
The idea with this structure is that all the information for the different processes (potentially on different machines) is stored in a single folder. With the “Mnémosyne” server, the process will simply query the server with the required node url (which contains the process name) and the server will serve the code (by reading the filesystem).
The “Mnémosyne” server will save every code changes by registering for notifications and using git on the project’s folder.
Funding from the Swiss Federal Office of Culture to write the graphical frontend to rubyk !
Moving from a global mutex to a global select/poll loop.
comments