[back]

2023-01-01 15:20:17 +09:00

# 雑記

## タイムスタンプ改善

Deltaの新旧ファイルを比較して同一ならスキップする感じにした…んだけど、なんかおかしい。 おかしい点を説明しようとすると頭がこんがらがってしまうレベルでなんか、こう、うーん。コードと挙動の関連に納得がいかないって感じ。 true->変更アリ、false->変更ナシで返す関数を書いたんだけど、たぶん直観的でない使い方をしてしまっているのが悪いんだと思う。if !変更 { continue; }ってちょっとわかりにくくない?if 変更 { /* 処理 */ }に書き換えたほうがいいのかもしれない。後でやる。なんかもう論理演算すらまともに出来ないレベルでアホになってるっぽいので朝プログラミングはやはり良くない。 ひとまず一旦コード寝かせてから判断する。動けばヨシはとにかく避けたい

追記1: ここまで書いてからもっかいビルド走らせたらちゃんと壊れてくれた(出てくる時間が全件同じになってた)。正直めっちゃ助かる。 考えてみれば動かない前提でコード書いてたから謎の恐怖に襲われてたのかもしれない。じゃあ私はデバッグしてくるんで…

追記2: 原因判明。さすがに笑う。 コミット時点でのold_fileとnew_fileを調べてるのに色々あって今あるファイル(現在作業中のファイル)を参照してた。おもろ で、古いファイル見るためにはどうしたらいいんですかね… なんかわからんけど動いてる、よりはマシだけどこの修正作業もそれはそれでしんどい。でも楽しいからOKです

追記3: PartialEqで実装されるeq()関数にならってtrue=同一、false=同一でない、とした。 こっちの方が分かりやすいというか仕様ホイホイ変えてるからこうなってるという気がしないでもない。 問題は未だ治らず。全ファイルfalseになってるってことは読み込みの段階でおかしくなってるんかね?ループ回数制限して出力を見てみる。

追記4: あああ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!!! 改行コードが悪さしてるっぽい気が激烈にしてきた。とりあえずCR+LFをLFに置き換えるようにしてみるけど確実に処理時間かかりそうだからもしこれで動いたらbuild scriptの最初にCR+LFからLFにする処理を追加する必要がありそう。

追記5: なんとか動いた。AddedのファイルとModifiedのファイルで挙動変えたらいけたっぽい。 まだバグ残ってる気もするしモヤモヤは残るけどまあ…いいか。気づかなければそこにないのと同じってことで。気づいたら直す。