`idf.py reconfigure` Not Updating Git-Only Components
Posted: Tue Jul 23, 2024 7:15 pm
Hi,
I am having trouble getting git-only components to update in my projects.
### Background:
I have several private components on git that I add to my projects by editing my project `idf_components.yml` file.
After running `idf.py reconfigure`, a new component is added to my `managed_components` directory. So far, so good.
### The Issue:
When I commit a change to `gecl-logger-manager` (for example), the changes are not picked up by my project if I simply
run `idf.py reconfigure` again.
To update the component, I have to:
1. Comment out the entire entry for `gecl-logger-manager` in the project's `idf_components.yml` file.
2. Run `idf.py reconfigure` so the subdir is removed from `managed_components`.
3. Uncomment the entry in `idf_components.yml`.
4. Run `idf.py reconfigure` again so the component is re-added to the `managed_components` subdir.
This process updates the component to the current commit point.
### Question:
What am I doing wrong? How can I get components to update more dynamically?
### The Files
Here is partial content of the parent project file:
```yaml
## IDF Component Manager Manifest File
dependencies:
## Required IDF version
idf:
version: ">=4.1.0"
gecl-logger-manager:
git: https://github.com/gamename-esp32-compo ... anager.git
version: "*"
# ...other components...
```
For completeness, here is the component's `idf_components.yml` file:
```yaml
version: "1.0.0"
description: "Logger manager component for ESP32"
url: https://github.com/gamename-esp32-compo ... er-manager
dependencies:
idf: ">=4.1"
```
I am having trouble getting git-only components to update in my projects.
### Background:
I have several private components on git that I add to my projects by editing my project `idf_components.yml` file.
After running `idf.py reconfigure`, a new component is added to my `managed_components` directory. So far, so good.
### The Issue:
When I commit a change to `gecl-logger-manager` (for example), the changes are not picked up by my project if I simply
run `idf.py reconfigure` again.
To update the component, I have to:
1. Comment out the entire entry for `gecl-logger-manager` in the project's `idf_components.yml` file.
2. Run `idf.py reconfigure` so the subdir is removed from `managed_components`.
3. Uncomment the entry in `idf_components.yml`.
4. Run `idf.py reconfigure` again so the component is re-added to the `managed_components` subdir.
This process updates the component to the current commit point.
### Question:
What am I doing wrong? How can I get components to update more dynamically?
### The Files
Here is partial content of the parent project file:
```yaml
## IDF Component Manager Manifest File
dependencies:
## Required IDF version
idf:
version: ">=4.1.0"
gecl-logger-manager:
git: https://github.com/gamename-esp32-compo ... anager.git
version: "*"
# ...other components...
```
For completeness, here is the component's `idf_components.yml` file:
```yaml
version: "1.0.0"
description: "Logger manager component for ESP32"
url: https://github.com/gamename-esp32-compo ... er-manager
dependencies:
idf: ">=4.1"
```