Max Kirillov (max630) wrote,
Max Kirillov
max630

gitk: more aggressive space ignoring

У меня внезапно образовалась необходимость смотреть диффы, в которых полезные изменения перемешаны с поправленным оформлением (переносами, отступами и тп). diff -w не осиливает игнорировать все из них.

Поскольку разбираться с алгоритмом diff мне не совсем хотелось, а пересобирать потом git под Windows мне не хотелось совсем, я решил ограничиться грязным хаком и пропустить через фильтр уже готовый дифф, перепроверив для каждого ханка, что он содержит значимые изменения. После какого-то числа попыток я понял что всунуть в пайп перловый скрипт не получится (Windows, да), поэтому пришлось сделать это прямо в gitk:

https://gist.github.com/max630/5427780

Разбито на 3 патча потому что первый - это вполне прямолинейный рефакторинг, который, однако, может сконфликтовать с какой-нибудь не той версией, а остальные 2 - это уже новый код. Зачем их 2, я уже не помню.

Это грязно не только по идее, но и по исполнению, так что я даже не буду пытаться предлагать это в апстрим, но если кому покажется интересным - пользуйтесь.
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments