Web IDE idea: Version Control

Noticed a lack of version control in the web ide, which is why I’m using the cli. Just moved my code to the web ide to test if that made a differance with a problem I was having and I thought, “well their web ide is pretty I could be using this instead”. Then I remembered, no version contol.

Sorry in advance ideas are easier to suggest than implement.

Web IDE Idea: Replace save with git. Auto stage code changes, replace “save” with “commit”. Message optional, defaults to timestamp. Add a sync with github option, which will auto-pull and push commits. Select and make branches in side tab.

Simple right? (glosses over pull conflicts) Thoughts?


We’ve talked a lot about this - I would love to have true version control in the IDE. It’s definitely a big feature, which is why it hasn’t happened yet; hopefully we’ll have a chance to do this at some point in the future!


I would suggest to take on the library mechanism for pulling library files from github and adapt it to pull project files instead.

It’s offloading the version control to github for now but that’s something we can deploy really quickly.

Just need some checking to make sure only the right file extension gets pulled in by the :spark: IDE :smiley:

Interesting idea that might be covienient if I need to upload from mobile.

Was thinking more allong the line of improving workflow for everyone. I think making it easier to for newer people to use things like version control would pay of for the hobby micro community in dividends. Seeing version changes is helpfull when troubleshooting. Allows me to find my own mistakes without coming to a forum for help all the time.

Right now you have to explain why version control is important to people. Almost regardless of how good the explaintion is the reaction is something like “yeah but git takes figuring out” or “I use subversion”.

Hi @inof8or,

Interesting idea! I like the idea of providing some better version control tie-ins. We actually very quietly do version control behind the scenes for the web IDE, in case people accidentally delete code, or need to revert to an older version.

I really like the idea of adding an “import from (insert git host here)” type integration, where your code seamlessly exists in both places at the same time, and saves == commits, etc. That’s something we’ve talked about in the past. I think that’s something that wouldn’t be too crazy to implement. :slight_smile:



The thing with git is that the smaller the commit the better it helps to find where things went wrong. Unfortunately because I’m doing it manually now, my commits are larger chunks with the only benefit being more meaningful comments… maybe. I imagine behind the scenes the version control is much more automatic / incremental. At that point, comments “in” the code seen though the diffs would be more pragmatic and promote something that should be more prevalent. Self describing code.

Anyhow you have my nod of approval, seems like this more of a “how to implement in a non-offensive way” type of problem. Data existing in more than one place is my mantra, would have hard time sleeping / using spark’s webIDE otherwise.


Would really love this feature btw. Even just something that copies a script and creates a new one that you just rename would be great. I tried to just create a new script and copy/paste each file in (it had public libraries) but it seemed to weirdly fail because it didn’t still see that it had the libraries or something, was very strange. I had to re-add the libraries via the GUI thing and then remove the duplicate library add in the code…

Not the hardest thing in the world to do but it was a little frustrating, all I am really asking for is a simple “Duplicate” of the script so I can do some utterly basic version control.

If it is easier to solve, keeping the last 5 flashed files would greatly assist in troubleshooting SW bugs.

  • Brian
1 Like