4.8 KiB
4.8 KiB
title, tags, created
| title | tags | created | ||||
|---|---|---|---|---|---|---|
| 2026-09-15 — Syncthing-конфликт family/index.md и битая wikilink после переименования |
|
2026-09-15 |
2026-09-15: конфликт family/index.md (Syncthing) + битая wikilink после rename
Симптом
При плановом прогоне sync (05:45 UTC) в коммите появился новый файл-конфликт Syncthing:
create mode 100644 family/index.sync-conflict-20260915-124537-XJRJQB2.md
Имя = 12:45:37 локального времени (UTC+7) → 05:45:37 UTC, т.е. расхождение обнаружено
демоном Syncthing в момент прогона. В том же коммите (фаза syncthing, телефон) прошло
переименование family/documents/altai-shopping.md → bring-to-altai.md и удаление
8 старых заметок vault-sync-* / vault-sync-log-*.
Разбор: какая версия главнее
diff family/index.md family/index.sync-conflict-20260915-124537-XJRJQB2.md:
| Строка | index.md (оставлена) |
конфликтная копия |
|---|---|---|
| 21 | [[family/documents/altai-shopping|Алтай — купить]] — битая после rename |
[[bring-to-altai|Алтай — купить]] — корректная |
| 39–40 | абзац с координатами дома (55.257328, 83.048234, 2ГИС, ДНП «Лаки Парк») — есть |
отсутствует |
| 133 | описание home-automation-wishlist («роадмап автоматизаций + девайсы») — есть |
сокращённый заголовок «🏡 Home automation» |
index.md — надмножество по содержанию (157 строк против 155), поэтому оставлена она.
Конфликтная копия не добавляет ничего, кроме поправки ссылки.
Сделано
family/index.md, стр. 21: ссылка поправлена на[[family/documents/bring-to-altai|Алтай — купить]]. Питфолл:bring-to-altai.mdимеет aliasaltai-shopping, но alias не спасает ссылку с путём —[[папка/имя]]резолвится по файлу, а не по alias. Алиасы работают только для короткой формы[[имя]].- Проверено, что
altai-shopping.mdфизически отсутствует (ls family/documents | grep altai), аpersonal/projects/personal-os/obsidian-vault-strategy.md:182содержит лишь упоминание внутри ASCII-схемы, не wikilink — править не нужно. - Коммит
8197a62taiga-vault: family/index.md, запушен в bare; все три клона (/vault,/vault.git,/obsidian-syncthing) на одном коммите, рабочие деревья чистые.
Осталось / решение Алексея
- Файл
family/index.sync-conflict-20260915-124537-XJRJQB2.mdне удалён — оставлен на диске и в git как артефакт. Содержимое полностью покрытоindex.md, можно удалять (в Obsidian илиgit rm). Ранее уже висит такой же хвост:family/documents/bring-to-russia.sync-conflict-20260831-161030-C6DYBCZ.md(от 31.08). - Корневая причина повторов:
family/index.mdпишут обе стороны (телефон через Syncthing и агент), при этом агентская версия выигрывает по объёму и «откатывает» правки телефона. Если конфликты поindex.mdбудут повторяться — либо перестать правитьindex.mdс телефона, либо вынести оглавление в раздельные файлы (напримерindex-family.md/index-personal.md), чтобы не пересекаться на одном файле.
Проверка целостности (05:46 UTC)
for d in /vault /vault.git /obsidian-syncthing; do git -C $d log --oneline -1; done
git -C /vault status --porcelain # пусто
git -C /obsidian-syncthing status --porcelain # пусто
grep -c "No such file or directory" /tmp/vault-sync.log # 0
grep "Pushed ✓" /tmp/vault-sync.log | tail -3
Результат: все три фазы Pushed ✓, exit 0, одноимённые HEAD, дерево чистое.
Связанные заметки
- family/how-to/vault-sync-pipeline — архитектура трёх звеньев
- 2026-09-02-dubious-ownership-and-merge-cleanup
- family/index