Files
obsidian-vault/family/documents/vault-sync/2026-09-15-index-md-syncthing-conflict.md
T

69 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: 2026-09-15 — Syncthing-конфликт family/index.md и битая wikilink после переименования
tags: [vault, sync, syncthing, git]
created: 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), поэтому оставлена она.
Конфликтная копия не добавляет ничего, кроме поправки ссылки.
## Сделано
1. **`family/index.md`, стр. 21:** ссылка поправлена на `[[family/documents/bring-to-altai|Алтай — купить]]`.
Питфолл: `bring-to-altai.md` имеет alias `altai-shopping`, но **alias не спасает
ссылку с путём** — `[[папка/имя]]` резолвится по файлу, а не по alias. Алиасы работают
только для короткой формы `[[имя]]`.
2. Проверено, что `altai-shopping.md` физически отсутствует (`ls family/documents | grep altai`),
а `personal/projects/personal-os/obsidian-vault-strategy.md:182` содержит лишь
упоминание внутри ASCII-схемы, не wikilink — править не нужно.
3. Коммит `8197a62` `taiga-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)
```bash
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]]