Repository navigation
#368 を実装する(スプリント m8a) - #461
Merged
Merged
Conversation
除外の一覧を exclude.py で組み立て、フル・差分・復元前バックアップの tar に --anchored --no-wildcards-match-slash でメンバーより前に渡す。世代の meta.yml に 作ったときの除外の一覧を残し、違う一覧の世代へは差分を積まない(自動は新しい世代、 名前の指定は止める)。設定が読めない間は世代の記録の一覧で控える。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
takemi-ohama
marked this pull request as ready for review
October 12, 2026 09:15
This was referenced Oct 12, 2026
Merged
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
スナップショットの控えから、既定の除外パスと
backups/exclude.ymlに書いたパスを外すようにしました(#368)。除外の一覧が前の世代と違う系列では、新しいフルの世代を作ります。利用者向けの変化
backups/exclude.ymlに書いたパスも控えから外れます。移行の手順
変更の要点
lib/devbase/snapshot/exclude.pyを新しく追加しました。既定の除外とbackups/exclude.ymlの除外をまとめて、一つの除外の一覧にします。lib/devbase/snapshot/manager.pyは、控えを作るときにこの除外を当てます。また、世代ごとに除外の一覧を記録します。記録した一覧が前の世代と違えば、系列に新しいフルの世代を作ります。docs/specifications/snapshot-series.md)に、順 4a を書き足しました。除外の一覧が違うときに新しい世代を作る手順です。docs/user/snapshot-guide.md、docs/user/cli-reference/05-snapshot.md)と CHANGELOG に、次の内容を書きました。backups/exclude.ymlの使い方テスト
tests/snapshot/test_exclude.py)tests/snapshot/test_exclude_generations.py)tests/snapshot/test_backup_real_tar.py)test_archive_layout.py、test_manager_series.py、test_restore_incremental.py)。issues/issue-368-design.mdに名前の出るテスト 3 件が、すべて HEAD にある設計と違う点
test_restore_incremental.pyを変えずに通る)tests/snapshot/test_restore_incremental.pyの_swap_directoriesを変えた。実の Docker で入れ替える場所を.claude/plugins/cacheからdata/cacheへ移した(復元の経路・確かめる中身は変えていない).claude/plugins/cacheが既定の除外(決定 6・S4)に入り、控えに入らなくなったため。除外の中のままでは入れ替えた中身の復元を確かめられない。受け入れ条件 10 そのもの(変更前の世代を一覧・復元できる)は変わらないモード: standard / 通した工程: 実装 → 完了判定 → Pull Request
実装の担当の覚え書き(conductor が転記)
issues/issue-368-design.mdの決定 1〜7)と違えたところ: 無し。上の表のtest_restore_incremental.pyの変更はテスト設計の行で、決定ではないtests/snapshot/test_backup_real_tar.pyの実の GNU tar のテスト(受け入れ条件 1・2・3・8・13)は、手元の macOS に GNU tar が無く飛んだ。CI(Linux。GNU tar と zstd がある)で走る。受け入れ条件 1〜4・8 は conductor が実のdevbase-snapshotイメージでも確かめた(スプリント m8a #462 のコメント)🤖 Generated with Claude Code