-
Notifications
You must be signed in to change notification settings - Fork 1
Closed
Labels
area:workspaceWorkspace tooling, justfile, templatesWorkspace tooling, justfile, templatesbugSomething isn't workingSomething isn't workingeffort:smallLess than 1 hourLess than 1 hourpriority:highShould be done in the current milestoneShould be done in the current milestonesemver:patchBug fix, backward-compatibleBug fix, backward-compatible
Milestone
Description
Description
Running install.sh with --force should preserve user files listed in PRESERVE_FILES (including README.md and CHANGELOG.md).
When rsync is not available in the container, the fallback copy path overwrites those files anyway.
Steps to Reproduce
- Use an image/environment where
rsyncis not installed. - In an existing workspace, customize
README.mdandCHANGELOG.md. - Run:
install.sh <workspace> --version dev --skip-pull --force --org vigOS - Observe init output:
Warning: rsync not available, preserved files may be overwritten - Check
README.mdandCHANGELOG.md.
Expected Behavior
Files in the preserve list are never overwritten during --force, regardless of copy backend.
Actual Behavior
Preserved files are overwritten when fallback copy is used (no rsync).
Environment
- OS: Linux
- Container Runtime: Podman
- Image Version/Tag:
ghcr.io/vig-os/devcontainer:dev - Architecture: amd64
Additional Context
The init output lists preserved files correctly before copy, but fallback logic does not enforce preservation.
- TDD compliance (see
.cursor/rules/tdd.mdc)
Possible Solution
- Add
rsyncto the image to use the primary safe copy path. - Keep fallback logic preserving files explicitly for robustness.
- Add regression coverage for fallback behavior.
Changelog Category
Fixed
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area:workspaceWorkspace tooling, justfile, templatesWorkspace tooling, justfile, templatesbugSomething isn't workingSomething isn't workingeffort:smallLess than 1 hourLess than 1 hourpriority:highShould be done in the current milestoneShould be done in the current milestonesemver:patchBug fix, backward-compatibleBug fix, backward-compatible