Resolve the issue store path independently of the working directory #15
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Скрипты ищут
tmp/issuesотносительно cwd. Из любой подпапки репозиторияпроверка сообщает, что store пуст, хотя он существует уровнем выше; а
записывающие скрипты молча создают там второй store.
Spec
none
Steps to reproduce
cd tmp/issuespython3 ../../skills/issue/scripts/issue_check.pypython3 ../../skills/issue/scripts/issue_index.pyExpected
Store находится (поиск вверх до корня репозитория) — либо, если не найден,
сообщение говорит правду: каталог не найден отсюда. Записывающие скрипты не
создают новый store в случайном месте.
Actual
Шаг 2 —
issue_check.py: store tmp/issues is emptyи выход 1, хотя в storeдевять issue. Шаг 3 —
issue_index.pyпечатаетtmp/issues/INDEX.md — 0 issue(s)и выходит с кодом 0, создав второй, пустой store вtmp/issues/tmp/issues/. Об этом не сообщается ничем.Environment
skills/issue/scripts/issue.py:51—ISSUE_ROOT = os.path.join("tmp", "issues"), относительный путь, разрешается от cwd. Это default для--outво всех скриптах обоих слоёв:
issue_check.py:29,issue_tree.py:69,issue_new.py:154,issue_index.py:82,sync/pull.py:111,sync/push.py:93,sync/remote.py:42,sync/comment.py:46.skills/issue/scripts/issue_check.py:38иissue_tree.py:74— оба говорят«is empty» там, где каталога просто нет по этому пути.
skills/issue/scripts/issue.py:380иissue_index.py:74—os.makedirs(root, exist_ok=True): отсутствующий store создаётся молча, ипромах по cwd превращается во второй store вместо ошибки.
Кусается по-настоящему:
cdв одном вызове shell переживает вызов, иследующая проверка рапортует пустой store на непустом.
Acceptance criteria
issue_check.py,issue_tree.py,issue_index.pyиз любой подпапкирепозитория видят тот же store, что и из корня
от «каталог пуст»
пути от cwd
syncберут тот же корень, что и слойissuefeat/issue-cache-scriptsto feat/issue-cache-scripts