Ticket #39913

ロケーションペインで、移動ブロックどうしを結ぶ斜め線の表示基準?

Open Date: 2020-01-10 12:42 Last Update: 2020-03-08 14:58

Reporter:
(Anonymous)
Owner:
(None)
Status:
Closed
Component:
(None)
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
Fixed
File:
None

Details

2.16.4-jp-9, 2.16.4-jp-11

下記サンプルで差分を表示すると、ロケーションペインに移動ブロックを表す斜め線が2本表示されます。
ファイル1の末尾は「移動行4・改行」、ファイル2の末尾は「共通行6・改行」です。
この状態でファイル2の末尾に改行をいくつか増やしてから表示更新すると、斜め線の本数が変わります。

類似行をマッチさせる ON → hunk内の各行に斜め線(計4本)
類似行をマッチさせる OFF → hunkの2行目どうしに1本線

2.12.4-jp-31で実行すると、類似行マッチの状態にかかわらず「最初は2本線」「ファイル2の末尾に改行を増やすと1本線」という挙動になりました。
もともと意図されていた斜め線の表示基準はどのようなものでしょうか?

(1) hunkの先頭行どうしに1本だけ線を表示
(2) hunkの先頭行どうしと末尾行どうしに2本の線を表示
(3) 対応する行1行ごとに線を表示
(4) その他


【ファイル1】
============================
共通行1
共通行2
共通行3
共通行4
共通行5
共通行6
移動行1
移動行2
移動行3
移動行4
============================

【ファイル2】
============================
共通行1
移動行1
移動行2
移動行3
移動行4
共通行2
共通行3
共通行4
共通行5
共通行6
============================

Ticket History (3/4 Histories)

2020-01-10 12:42 Updated by: None
  • New Ticket "ロケーションペインで、移動ブロックどうしを結ぶ斜め線の表示基準?" created
2020-01-11 12:04 Updated by: sdottaka
Comment

ロケーションペインのこのあたりの処理はあまり理解できていないのですが、おそらく「(4)その他」です。

1つのhunkに削除行(灰色)が含まれている場合、 hunkが削除行の上の変更行のブロックと削除行のブロックの2つのブロックに分割されます。

(1つのhunk内がすべて削除行であっても、0行の変更行のブロックが作成されます)

このブロックごとにブロックのトップとボトムの中央に線が引かれる動作となっているようです。

「ファイル2の末尾に改行を増やすと1本線」になるのは、2つ目のhunkの削除行がなくなるからだと思います。

この2本線が表示されるのがよいかどうかといえば私はよいとはおもっていないので、 余力があれば、単に移動行に細い線を引くのではなく、移動行の行の高さに合わせた線の幅で描画したいと思っています。 (このようにすれば、上記のhunkが2つのブロックに分割されても見た目上は1つの太い線になるはずです)

(Edited, 2020-01-11 12:07 Updated by: sdottaka)
2020-01-17 12:39 Updated by: None
Comment

Reply To sdottaka

ロケーションペインのこのあたりの処理はあまり理解できていないのですが、おそらく「(4)その他」です。 1つのhunkに削除行(灰色)が含まれている場合、 hunkが削除行の上の変更行のブロックと削除行のブロックの2つのブロックに分割されます。

単一のhunkにまとまらないのは何か釈然としないですが、hunkの生成規則をいじると思わぬ場所に影響が出そうですね。

2020-03-08 14:58 Updated by: sdottaka
  • Status Update from Open to Closed
  • Resolution Update from None to Fixed
Comment

遅くなりましたが、表示を改善し、プレリリース版 2.16.6+-jp-6 を作成しています。

https://github.com/sdottaka/winmerge-v2-jp/releases/tag/2.16.6%2B-jp-2

Attachment File List

No attachments

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login