Version Control is HERE - a GitHub client for Codea!

http://www.youtube.com/watch?v=gFZgSnwHcIo

Here it is: https://github.com/ruilov/GitClient-Release (with manual at the link as well)

With this you can version control your codea projects, which makes management of large projects much easier. It does require a few steps to setup, so it’s targeted at expert Codea users, but if you’re new and want to try it too, let me know how it goes.

I’m releasing here after consulting with @Simeon. I understand that other users in the forum think this might be frowned upon by Apple, and put some Codea features at risk, and they make some good points. However I felt that since this requires breaking Codea out its sandbox and significant tinkering under the hood to get it working, that it was ok to release.

Enjoy!

Woo! must try it.

Great! Thanks!

Very interesting - I wonder how easy (or hard) it would be to replace github with your own server.

Semi related, I was working on a side project (since sidetracked due to insane amounts of work work eating at my free time) to do a Codea import/export as a seperate Cydia project for jailbroken ipads.

I’m far less concerned about this sort of hackery than I am about loadstring() shenanigans, but I’d still rather see it built-in to Codea (ie. all of the above, but local repos).

Awesome will definitely try it !

Can you create in 1 code [-O<

You’re asking a lot a giving little, Bot of Connor. Isn’t it time to give something back in advance?

Here’s the deal: Do it yourself and we’ll see if we can do it for you.

Also, stop praying, please. Don’t be a creationist, be a maker!

Just have to say that I am amazed by what @ruilov has done with this project.

What kind of hacking do this project need to work properly?

You need to enable the io.* package in LuaSandbox.lua. You need to use something like iExplorer to modify the Codea resources.

@juaxix, what @simeon said. Basically break codea out of the sandbox by copying the luasandbox.lua file so that the tool can do i/o on your project files. The github link has some instructions on how to install. Please let me know if they don’t work or are unclear.

Ok, thanks @Simeon and @ruilov ,I’m looking at your code now, it is a good book, I’m learning a lot from it :slight_smile:

@juaxix, it’s pretty messy code, some parts better than others. The Apple* classes are specially messy. I’ll clean up that code later and probably release as a standalone library.

Awesome job @ruilov ! I’m only just learning how git works, but is it possible to work with private repos? Or is this a limitation of git?

Git itself is not limited to private or public repos — it just works through SSH. But GitHub only allows private repos on paid accounts.

@ruilov’s client uses the GitHub API to do its stuff, so it’s GitHub only rather than a generic git system.

I’m having a heck of a time getting the LuaSandbox to work - can’t seem to overwrite it or delete it with iExplorer 2. Anyone using IE2?

@aciolino you shouldn’t need to with the latest version. I enabled io by default for people who wish to use generalised read/write.

Hello @Simeon. Can you provide more explanation about what has been enabled and what remains disabled? For example, I note that @ruilov’s code uses os.getenv("HOME") before making use of os.read(filename, "r").

yes, I’m having the problem of using getenv, and I believe I read elsewhere in the forum that it wasn’t enabled. I also can’t seem to get the code to actually download source, and it dies on the os.getenv(“HOME”) line, ProjectLoader.lua, line 21. So…:slight_smile:

As of Codea version 1.4.5, my question above about os.getenv() is answered by the comment here.