thestumbler wrote: ↑Thu Feb 10, 2022 2:58 am
Do most folks just clone the entire MP repo once per project?
Either you want to build micropython again and again (with the observed unstable effects on build and function) or you want to build
something with micropython.
"Projects" very seldom require the latest, best (and maybe the most buggy) micropython version.
I have one local micropython clone as well as my micropython clone on github (as far as I know, this is an requirement to create pull requests).
PRs and upy development happen in the local clone (in separate git branches, of course).
Further, I have a few (2-3) uPy versions checked out as "git worktree".
There are the sources of known-to-work uPy versions + *my* patches (also known to work)
My projects I prefer to code in python.
A "project" gets it's own directory structure with
- board definition
- build directory
- build + flash + install scripts
- my .py files, external dependencies
- a reference (via an environment) to one of the (for me!) stable, checked-out worktrees.
For project development, I avoid touching the micropython sources.
In this way, a build remains local to the project, is most likely repeatable and has no side effects to other projects.
thestumbler wrote: ↑Thu Feb 10, 2022 2:58 am
But when I see a vendor ... distributing MP support as diff patches
Maintaining a PR does require knowledge+time. In micropython, PRs get merged months, sometimes years after creation and get old pretty fast. I have three PRs open. Two of them would require a rebase+manual merge each month or so. No wonder they are most of the time in a "unmergeable" state.