Skip to content

fix(timelapse): exclude linked component from Moonraker repo#34

Open
arlophoenix wants to merge 1 commit into
Guilouz:mainfrom
arlophoenix:fix/timelapse-exclude-untracked-source-anomaly
Open

fix(timelapse): exclude linked component from Moonraker repo#34
arlophoenix wants to merge 1 commit into
Guilouz:mainfrom
arlophoenix:fix/timelapse-exclude-untracked-source-anomaly

Conversation

@arlophoenix

Copy link
Copy Markdown

Installing Moonraker Timelapse symlinks its component into Moonraker's own git
repo at moonraker/components/timelapse.py. Since Moonraker doesn't track that
file, update_manager then permanently reports the repo as dirty —
Repo has untracked source files: ['moonraker/components/timelapse.py'] — which
clutters update status and can interfere with Moonraker updates, even though the
component is installed on purpose.

This adds the linked path to the Moonraker repo's .git/info/exclude at install
time so update_manager stops flagging it. The write is idempotent and guarded
on .git/info existing; the uninstall path removes the entry for symmetry. The
repo root and excluded path are derived from the existing $TIMELAPSE_FILE
variable rather than hardcoded.

The same bug is inherited by the C0DEbrained Creality-Helper-Script-2025 fork,
which will benefit from this fix as well.

Test plan

  • sh -n scripts/moonraker_timelapse.sh passes
  • On-device: install Moonraker Timelapse, confirm update_manager no longer reports the untracked-source anomaly
  • On-device: re-run install, confirm the exclude entry is not duplicated (idempotent)
  • On-device: uninstall, confirm the exclude entry is removed

The Moonraker Timelapse installer symlinks its component into Moonraker's
git repo at moonraker/components/timelapse.py. Because that file is not
tracked by Moonraker's repository, update_manager permanently reports the
repo as dirty:

  Repo has untracked source files: ['moonraker/components/timelapse.py']

This blocks clean update_manager status and can interfere with Moonraker
updates, even though the component is intentional.

Add the linked path to the repo's .git/info/exclude at install time
(idempotent, guarded on .git/info existing) so update_manager stops
flagging it. The uninstall path removes the exclude entry for symmetry.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant