jj: note that rm doesn't remove submodule gitlinks
Assisted-by: Claude Opus 5.5 via Claude Code
change tyxurynlnxlwuoqlnsyxorsytyqxkuvk
commit 397b8c0b333fb0ba78c5769e25afd37e98c127f9
author Alpha Chen <alpha@kejadlen.dev>
date
parent umtkyxkv
diff --git a/ai/skills/jj/pitfalls.md b/ai/skills/jj/pitfalls.md
index 88d5d353..440c304f 100644
--- a/ai/skills/jj/pitfalls.md
+++ b/ai/skills/jj/pitfalls.md
@@ -197,6 +197,12 @@ jj config get core.excludesFile     # errors when unset (the common case)
 ls ~/.config/git/ignore             # the XDG fallback jj actually reads
 ```
 
+**Deleting a submodule's directory doesn't remove its gitlink.** jj doesn't
+snapshot submodules, so after `rm -rf <path>` the gitlink stays in `@` and
+`jj st` shows nothing. Restore the path from the root commit, which has no
+such entry: `jj restore --from 'root()' --into @ <path>`. Then drop its
+`.gitmodules` entry by hand.
+
 ## Tags
 
 Subcommands on 0.45 are `list`, `set`, `delete`, `track`, and `untrack` —