I agree that have at least a basic VCS with the integrated IDE would be great. I have be copying and pasting a copy of the edits I make as I play with my algorithms into a git repository on my main computer -- it works, but having something similar (without the manual cut/paste would be terrific).
BTW, my guess most of the people here are familiar with Git and other VCSs, but just in case, here are some quick notes someone should be able to use to create and use a manual git like I'm doing above -- hopefully it's helpful to someone out there: :-)
Create a new git repo and check in starting version
1) Install git. This can depend on your OS. See her for some general notes: http://git-scm.com/book/ch1-4.html . Any Linux distro should have a fast easy way to install it. If you are using Windows, you might want to try TortoiseGit -- it's a pretty nice tool for people not familiar with Git or similar version control systems. The MacPorts installer works well in my experience if you have a Mac.
2) Create a new directory and move to that directory:
3) Initialize a local git repo:
Note: You might want/need to also setup your user-specific info with:
git config --global user.name "Joe User"
git config --global user.email "[email protected]"
And "git config --global color.ui true" is a really nice option if you system setup supports it.
4) Put a starting copy of your algorithm in the directory (or a subdirectory) you created & initialized above
5) Add that file to Git
6) Commit the starting version:
git commit -m "Starting version of my whatever algorithm"
Note that you can repeat steps 4-6 for as many files as you want (including as many subdirectories under your
starting directory as you want).
1) Open the file above in your editor
2) Copy/paste the contents of the Quantopian IDE for your algorithm into your editor and save/exit in the editor
3) Add the changes to the "staging area" for git. There are two main options here:
a) git add
This will add all the changes in that file in one go
b) git add -p
This will go through an interactive set of prompts to add it in pieces/parts. This can be handy
if you made lots of changes and want to break it into multiple commits in your git log history.
Note that some systems may not support this options without some fiddling around.
1) git log
Lots of options here. View git log help and lots of sites on the web. "git log -p" is a good one.