git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Precious files and the .jj directory

From
JLJade Lovelace <lists@jade.fyi>
Date
Jul 22, 2025, 07:31 UTC
Message-ID
<CAFA9we_yDs9SPL2pJU_WiUz8CqvQ8ZPHwXBfTzHHbt-QGV34qA@mail.gmail.com>
I'm aware of the many discussions about precious files [1] [2] [3],
but I wanted to highlight a particularly pernicious category of
precious files that are really hard to do the right thing about with
Git: namely, other version control systems. In particular, as I
learned in [4], `git clean -ixd` will of course list `.jj` to delete
and delete it if you have it in gitignore. But yet having it untracked
results in it possibly accidentally getting added and also clutters up
`git status`.

It's my understanding that git has more file deletion edge cases of gitignored files than of untracked ones so the latter is theoretically safer. Is that correct?

[1]: https://lore.kernel.org/git/pull.1627.git.1703643931314.gitgitgadget@gmail.com/ [2]: https://lore.kernel.org/git/871s7r4wuv.fsf@evledraar.gmail.com/ [3]: https://lore.kernel.org/git/7v4oepaup7.fsf@alter.siamese.dyndns.org/ [4]: https://maddie.wtf/posts/2025-07-21-jujutsu-for-busy-devs

The part about these that is especially pernicious is that git does the right thing to `.git`, there are not that many of *these* particular file patterns, and they generally merit the same treatment as .git as deleting them results in somewhere between frustrating and catastrophic loss of work. The one other example of one I've seen other than .jj is .sl, though that's only colocated with git if you are up to serious shimming shenanigans with broken tools (nix flakes etc) as AFAIK it is not supposed to be used colocated normally.

Should these be special cased somehow? Should they be simply caught by the precious-files work when it eventually gets done?

Regards, Jade

Next: Elijah Newren
Message 1 of 4 in “Precious files and the .jj directory”
  1. Jade LovelaceJul 22, 2025
  2. Elijah NewrenJul 22, 2025
  3. Martin von ZweigbergkJul 24, 2025
  4. Junio C HamanoJul 22, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.