Skip to content

snapshot.yml の created_at が引用符なしの日時だと devbase snapshot list が TypeError で止まる #267

Description

@takemi-ohama

何を見つけたか

backups/snapshot.yml のエントリの created_at が引用符なしの日時(例 created_at: 2026-09-15 23:18:25)だと、PyYAML が datetime として読む。devbase snapshot list は lib/devbase/commands/snapshot.py の _snapshot_list で s.get('created_at', 'N/A')[:19] と文字列として切り出すため、TypeError: 'datetime.datetime' object is not subscriptable で止まる。

どこで見つけたか

PR #263 の実装レビュー(round 2、agy の指摘)の修正の途中。lib/devbase/commands/snapshot.py:74。

なぜこの変更の範囲外なのか

PR #263 は同じ原因の比較の落ち方を SnapshotManager._entry_age(系列の並べ替え・ローテーション)で直した(b58f9ee)。_snapshot_list の表示は PR の差分に無く、受け入れ条件は list の表示の変更を「含まない」としている。変更前から同じ挙動である。

直さないと何が起きるか

devbase 自身は created_at を引用符付きの文字列で書くため、通常は起きない。利用者が snapshot.yml を手で直したときだけ、一覧の表示が例外で止まる。

由来

PR #263

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions