Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,10 @@ Key formatting rules:
- `lint.yml`: URL checking on PRs
- `publish-release-notes.yml`: Manual workflow for S3/CloudFront deployment

## Videos and Git LFS

Video files (`.mp4`, `.mov`) are stored with Git LFS (see `.gitattributes`). When adding or replacing a video, make sure Git LFS is installed (`git lfs install`) so the file goes through the LFS filter. If a video shows up as changed in `git diff` but you didn't touch it, it was probably committed outside of LFS. Fix it by running `git add <file>` to re-add it through the filter.

Comment on lines +68 to +80

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As written, "Fix it by running git add <file> to re-add it through the filter" instructs the agent to stage what is really an LFS migration (it rewrites the stored blob into a pointer, a change to history), and to do it as a side effect of unrelated work. That's behavior we'd want to prevent in an agent.

Suggested change
## Videos and Git LFS
Video files (`.mp4`, `.mov`) are stored with Git LFS (see `.gitattributes`). When adding or replacing a video, make sure Git LFS is installed (`git lfs install`) so the file goes through the LFS filter. If a video shows up as changed in `git diff` but you didn't touch it, it was probably committed outside of LFS. Fix it by running `git add <file>` to re-add it through the filter.
## Videos and Git LFS
Video files (`.mp4`, `.mov`) are stored with Git LFS (see `.gitattributes`). When adding or replacing a video, make sure Git LFS is installed and initialized (`git lfs install`) so the file goes through the LFS filter.
If a video shows up as changed in `git diff` or `git status` but you didn't touch it, that's a phantom diff: the file was committed as raw binary instead of an LFS pointer, so the clean filter now produces a pointer that differs from the stored blob. Do not stage or commit this as part of unrelated work. Running `git add` would rewrite the stored blob into a pointer, which is a real change to history. Instead, discard it with `git restore <file>`, and handle converting the file to LFS as its own deliberate change.

This keeps the diagnostic explanation (which is genuinely useful for the agent!), but steers toward "discard, don't silently commit" and treats the LFS conversion as an intentional, separate change.

## Issue Tracking

Report issues at https://github.com/posit-dev/positron/issues (main Positron repo, not this website repo).
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ We currently use the issue tracker for [Positron](https://github.com/posit-dev/p

This repository uses [Git LFS](https://git-lfs.com/) to store large files such as videos. Make sure you have Git LFS installed before cloning.

If you see phantom diffs on video files you didn't change, it usually means those files were committed outside of LFS. Run `git add <file>` to re-add them through the LFS filter, then commit the result.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The current wording tells contributors to git add and commit the file, but on a fresh clone that actually rewrites the stored blob into an LFS pointer, which is a real change to history rather than local cleanup. A contributor who just wants a clean tree could end up slipping an LFS migration into an unrelated PR without realizing it. Once this PR merges these 4 files are proper pointers, so the phantom diff shouldn't recur for them anyway; the note is most useful as forward-looking prevention.

Suggested change
If you see phantom diffs on video files you didn't change, it usually means those files were committed outside of LFS. Run `git add <file>` to re-add them through the LFS filter, then commit the result.
Because videos are stored in Git LFS, install and initialize Git LFS (`git lfs install`) before adding or replacing a video so it goes through the LFS filter. If you ever see a "phantom diff" on a video file you didn't touch, it means that file was committed as raw binary instead of an LFS pointer. Don't commit the change into an unrelated PR: run `git restore <file>` to clear it locally, and flag the file so it can be re-added through LFS on its own.

This keeps the useful breadcrumb, points contributors at "discard and report" instead of "add and commit," and frames it as prevention rather than an expected ongoing state.


If you have [Quarto installed locally](https://quarto.org/docs/get-started/) and Chrome or Edge, you can preview the site by running one of the Debug Configurations in VS Code or Positron.

The configurations run `quarto preview` and then open the site in a new browser window.
Expand Down
Binary file modified videos/connections.mp4
Binary file not shown.
Binary file modified videos/data-explorer.mp4
Binary file not shown.
Binary file modified videos/positron-assistant-copytoeditor.mp4
Binary file not shown.
Binary file modified videos/positron-hero-fast-tour.mp4
Binary file not shown.
Loading