Version control
Posted: Thu Aug 01, 2019 5:22 pm
I have a general question about the workflow for working with the pyboard: how do you go about version control?
I am working on a project which involves multiple files. I want to use version control to keep track of the project. However, I can't find a good way of doing this. Here is what I tried:
Pycharm and the micropython plugin
Advantages: You get the power of the Pycharm editor. A local copy of the code lives on my disk and is flashed to the board. I can use git to keep track of changes to the local code.
Disadvantages: The plugin seems buggy. The main problem I experienced is that I could not find a way to exclude directories/files from flashing to the board. There is supposed to be a way to do so but, at least on my installation, this feature is broken and it's an open issue: https://github.com/vlasovskikh/intellij ... /issues/46
Thonny
Advantages: This is a good lightweight editor that allows editing the code directly on the board. The REPL feature is neat and very convenient while debugging.
Disadvantages: If I edit the code directly on the board, I can not do version control. One thing I tried for a while is to manually copy my code from the board to my disk. This allows for version control. But it is tedious and prone to error.
So my question is whether someone has found a good workflow for more complex project? One option I thought about would be for a process to monitor the pyboard and sync the contents to the board to my hard drive. I could then run git to do version control on the hard drive. I haven't been successful in setting this up.
Any suggestions would be great. I am on linux.
I am working on a project which involves multiple files. I want to use version control to keep track of the project. However, I can't find a good way of doing this. Here is what I tried:
Pycharm and the micropython plugin
Advantages: You get the power of the Pycharm editor. A local copy of the code lives on my disk and is flashed to the board. I can use git to keep track of changes to the local code.
Disadvantages: The plugin seems buggy. The main problem I experienced is that I could not find a way to exclude directories/files from flashing to the board. There is supposed to be a way to do so but, at least on my installation, this feature is broken and it's an open issue: https://github.com/vlasovskikh/intellij ... /issues/46
Thonny
Advantages: This is a good lightweight editor that allows editing the code directly on the board. The REPL feature is neat and very convenient while debugging.
Disadvantages: If I edit the code directly on the board, I can not do version control. One thing I tried for a while is to manually copy my code from the board to my disk. This allows for version control. But it is tedious and prone to error.
So my question is whether someone has found a good workflow for more complex project? One option I thought about would be for a process to monitor the pyboard and sync the contents to the board to my hard drive. I could then run git to do version control on the hard drive. I haven't been successful in setting this up.
Any suggestions would be great. I am on linux.