設定変更のレビュー

設定ファイル差分並び順の奥にある変更を探す

同じ形式の設定を2つ比較し、レポートに表示する情報を選びます。

設定ファイル差分

変更前

変更後

入力内容はこのブラウザ内で処理し、アップロードしません。

入力原文は表示されたままです。パスも非表示にするまでは見えます。パスを隠すと、値のマスクがオフでもオブジェクト・配列全体をマスクします。

キー順とコメントは無視し、配列は位置で比較します。TOMLの整数と浮動小数は別の型です。浮動小数はbinary64で扱い、丸めやゼロへのアンダーフローが生じます。

各入力:500,000文字・UTF-8で2MB・50,000ノード・深さ100まで。差分5,000件、レポート400万文字、ワーカーの制限時間5秒。

設定を入力するか、比較を実行してください。

変更一覧

設定ファイル差分は、設定の並び替えに埋もれた変更を確認するためのツールです。節を移動しただけなら変更とせず、消えたキーや書き換わった値を取り出します。空文字列とキーの欠落も区別します。

TOML比較、INI比較、Propertiesの設定ファイル比較を1つの画面で行えます。形式は自分で指定してください。キーの並び替えは無視しますが、別形式への変換やアプリ固有の方言の推測は行いません。

設定ファイル差分を使う理由

見た目の変更を除き、共有する情報を選ぶ

キーを移動しても同じ設定

設定ファイル差分は行番号ではなくテーブルのキーを照合します。節やキーの位置が変わっても余計な追加は出さず、実際の値の変更や削除を残します。配列の要素には順序があるため、位置の違いを比較します。

並び順の違う2つの設定ツリーで同じ葉が対応し、変更された葉だけが強調されている。

出力前に見せる範囲を決める

結果の値はすべて初期設定でマスクします。画面表示・コピー・ダウンロードには同じレポートを使うため、表示で隠した値が保存時だけ現れることはありません。節名やキー名に秘密が含まれるなら、パスも隠してください。

原文の見える2つのツリーを比較し、結果の値を覆ってからコピーと保存へ送る図。

保存前に決める3つのこと

比較の読み方を左右する設定

01

入力に合う形式を選ぶ

左右とも選択した1つの形式で読み込みます。Propertiesのドット付きキーは1つの名前、INIの節は値を収める入れ物です。形式を変更しても入力は変換されません。サンプルからその形式の有効な組み合わせを確認できます。

02

方向と表示範囲を確認する

変更前から変更後への向きで追加・削除が決まります。左右の交換はプレビューで確認してから適用します。マスクは等価判定を変えません。パスを隠す場合、子の名前を含むオブジェクトや配列の内容も隠します。

03

更新完了を待って保存する

自動比較は編集後350ms待って実行します。オフにすると比較ボタンやCtrl/Cmd+Enterを使えます。編集直後は古い結果を出力できません。置き換え後は1回の取り消しで入力と対応するレポートを復元できます。

構造として残る違い

存在・型・位置を混同しない

キー単位の照合と配列の位置

キー名は大文字小文字を区別し、順番には依存しません。配列はインデックスで照合するため、途中の挿入で後続の位置も変わります。キーの欠落、空文字列、空テーブル、空配列は別の状態です。

大きな整数の桁を保つ

TOMLの符号付き64ビット整数はJavaScriptの安全整数範囲を超えても桁を失いません。整数1と浮動小数1.0は型が異なり、浮動小数の-0.0と+0.0も異なる値として扱います。

型が読めるレビュー用レポート

各項目は追加・削除・変更と変更前後の型を示します。マスクを外した値の表現もJSON内では文字列にし、整数の桁を保持します。入れ物全体の追加や削除は1件として数えます。

出口ごとにマスクを変えない

passwordのような名前だけを推測せず、すべての値をまとめて隠します。パス非表示時は、値のマスクがオフでも入れ物全体を隠します。文字列や数値などの単一値は値のマスク設定に従います。

対応する方言とレポートの限界

同じ設定と判断する前に確認

TOMLの対応範囲
日時、NaN、無限大、符号付き64ビット範囲外の整数はエラーにします。有限浮動小数はbinary64として読み取った後に比較するため、異なる十進表記が同じ値へ丸められたり、極小の非ゼロ値がゼロへアンダーフローしたりします。任意精度の十進数比較ではありません。
INIは明示的な節と文字列
節を必須とし、キー名の大文字小文字を区別して重複を拒否します。DEFAULT継承、補間、字下げされたデータ行、複数行の値には対応しません。キーと値の前後の空白は除き、行内の#と;は文字として残します。0080やfalseも文字列です。
PropertiesはReaderとして読む
UTF-8のReader入力としてJavaのエスケープと継続行を処理します。復号後の重複キーはエラーで、ドットを含む名前は階層化しません。Springのプレースホルダーもそのままです。ISO-8859-1のInputStreamとしての復号やアプリ固有の展開は行いません。
マスクするのは結果だけ
入力エディタと置き換えプレビューには原文が残ります。レポートのパスは非表示にするまで見えます。パス非表示時は子キーの漏出を防ぐためオブジェクト・配列全体も隠します。マスクは暗号化やアクセス制御ではなく、明示的に公開した単一値には秘密が含まれ得ます。
マージやパッチ適用はしない
コメント、キー順、元の数値表記はレビュー対象外です。配列の移動検出、識別キー照合、集合モードはありません。JSONレポートはJSON Patchでも適用可能な設定でもありません。ENVやYAMLは公開済みの専用ツールをご利用ください。
上限を超えたら全体を停止
片側500,000文字、UTF-8で2MB、50,000ノード、深さ100までです。変更5,000件、レポート400万文字、ワーカー実行5秒を上限とします。解析失敗や超過時は出力を無効にし、途中までの比較を完成した結果として渡しません。

設定ファイル差分のよくある質問

レビュー中に迷いやすい点

片方にしかない設定項目を探すには?

変更前だけにあるキーは削除、変更後だけにあるキーは追加です。設定ファイル差分は空文字列を持つキーも存在するものとして扱います。空の値と項目自体の欠落は混同しません。

コメントだけの編集も差分になりますか?

コメントは解析後の構造に含まれないため、コメントだけの修正は表示しません。ただし有効な設定行をコメントアウトするとキーが消えるため、削除として検出できます。コメント本文のレビューには向きません。

値の型まで比較できますか?

対応範囲のTOMLでは文字列、真偽値、整数、有限浮動小数、配列、テーブルを区別します。整数1と浮動小数1.0は型の変更です。日時と非有限浮動小数は別の型へ変換せずエラーにします。

TOMLとINIで何が違いますか?

TOMLには型と入れ子のテーブルがあります。このツールのINIは明示的な節の下に文字列を置く方言です。見た目が似ていても同じ解析結果とは限らないため、左右を別形式で比較することはできません。

ファイルを選んで比較できますか?

各入力でローカルのUTF-8ファイルを1つ選べます。置き換えはプレビュー後に適用し、元に戻す操作で前の入力とレポートを復元できます。拡張子から形式は推測しないので、形式も選択してください。

別の設定例で困っていますか?

設定ファイル差分を確認する

設定ファイル差分で構造の変更を見つけ、対応する型と表示範囲を確認してからレポートを共有しましょう。

共有前に値とパスの表示設定を確認してください。