I’m coming from the Arduino IDE, so bear with me…
Let’s say I have a project that relies on a packaged library – let’s say an IMU library from one of the usual suspects (e.g., SF, Pololu, etc.). I want to modify the library to add functionality to it, and I want that to be available to other projects, as well.
So, I first fork the library on github. Then I include it in my lib_deps:
lib_deps = https://github.com/.../myForkedIMULib
platformio now makes a local copy in my project tree, yes? I can edit the code, but it doesn’t appear to be under git, so changes that I make are not pushed back to my repo. Worse, I make another project, and it makes its own copy, so now things are getting out of control.
I did have a couple of libraries in the global lib, but now they won’t update. I get the error discussed here: VCS: Could not process command ['git', 'pull', '--recurse-submodules'] · Issue #94 · platformio/platformio-home · GitHub, which seems to imply that if I make changes to a cloned repo, it breaks things (which makes no sense to me – I want to be able to update the libraries!).
So, what should I do? Where should I put libraries that are under development so that
a) I can use the changes in multiple projects (preferably wo/ having to update everything from project to project), and
b) I can use git to manage them
Happy to answer questions. Hard to explain when I don’t know much of the basics.