Git互換の分散バージョン管理システム jj の v0.18.0 で jj split
の画面が乱れるという問題が(僕の手元だけで)発生している。具体的にはこんな感じになる。
どうも、タブの桁数カウントか何かがおかしいようだ。症状が分かりやすい例を作ってみた。
v0.17.1 に戻して1、同じ差分を表示する。
$ scoop reset jj@0.17.1 Resetting jj (0.17.1). Linking ~\scoop\apps\jj\current => ~\scoop\apps\jj\0.17.1 Creating shim for 'jj'. $ jj version jj 0.17.1-e1d8705546d3971fef23bc6a4a7589283e5e0717
こっちはこっちでタブが削除されているが、反転部分に欠けなどがなく、それなりに表示されているように見える。
該当 issue がないか検索したところ、jj split
では見つけられなったが、tab
だと見つかった。どうも、エディター部分のパッケージ scm-record でタブコードを上手く表示できない不具合が発生していて、v0.18.0 でそれを取り込んでしまっているようだ。
- Screen corruption in
--interactive
with tabs · Issue #3944 · martinvonz/jj
CLOSE → 解決していないが、scm-record 側の問題ということで閉じられているっぽい - bug: tab characters not rendered correctly · Issue #2 · arxanas/scm-record
OPEN → scm-record 側の該当 issue
New features
- Upgraded scm-record from v0.2.0 to v0.3.0. See release notes at
https://github.com/arxanas/scm-record/releases/tag/v0.3.0
なぜ、これが大問題になっていないかというと、おそらく jj も scm-record も Rust 製なのでタブでインデントさせる慣習がないせいだろう。一方、Go言語だと、タブを使っていないコードは存在しないので…