Skip to content

原文(日本語に翻訳)

共通行が少ない非常に大きなファイルの差分計算時のハングを修正しました。差分計算は 5 秒後にタイムアウトして適切にフォールバックするようになりました。

原文(英語)

Fixed a hang when diffing very large files with few common lines — diffs now time out after 5 seconds and fall back gracefully

概要

2 つの大きなファイルの差分を計算する際、共通行が少ない場合(例: ほぼ全書き換えのような変更)に差分アルゴリズムが無限ループに陥り、Claude Code がハングする問題が修正されました。修正後は差分計算が 5 秒でタイムアウトし、適切なフォールバック処理に移行します。これにより、大規模なファイル変更でも安定して動作するようになりました。

基本的な使い方

この修正は自動的に適用されます。大きなファイルへの変更を依頼する際に、差分計算のタイムアウトが自動的に機能します。

bash
$ claude
> この 10000 行のファイルをリファクタリングしてください
# 以前はここでハングすることがあったが、
# 現在は 5 秒でタイムアウトしてフォールバック処理が実行される

実践例

ユースケース: 大規模なファイル書き換え

プログラミング言語の移行や大規模なリファクタリングなど、ファイルの大部分が変わるような変更でも安定して動作します。

bash
$ claude
> JavaScript のコードを TypeScript に移行してください
# 大きなファイルで多くの行が変わる場合でも
# 5 秒のタイムアウト後にフォールバック処理で差分を表示

ユースケース: 生成されたファイルの更新

データベースマイグレーションや自動生成コードの更新など、共通行が少ない大規模な変更でも適切に処理されます。

bash
# schema.sql のような大規模ファイルの更新
$ claude
> データベーススキーマを新しい設計に合わせて更新してください
# タイムアウトが機能して処理が継続される

注意点

  • タイムアウト(5 秒)後はフォールバック処理が行われますが、差分の表示が簡略化される場合があります
  • 通常サイズのファイルやほとんどの差分計算には影響しません
  • 意図的に 5 秒のタイムアウトが設けられており、これより長い差分計算は強制的に打ち切られます
  • フォールバック後も変更の適用自体は正常に行われます

関連情報