Привет, Лор!
Мы сделали одну отечественную программу по всем канонам, т.е. взяли программу с открытыми исходниками, форкнули репозиторий, переименовали программу, внесли 0.1% своих дополнений в алгоритмы и локализовали значительную долю сообщений. Поскольку программа написана на слегка экзотическом языке, который плохо поддерживает локализацию, мы меняли сообщения на русские прямо в исходники, а в каких-то случаях ставили ветвление в зависимости от выбранного языка. В сумме, думаю, порядка 500-800 индивидуальных изменений мы сделали таким путём.
Теперь нам нужно сделать главное, что необходимо для любой правильной отечественной программы, т.е. залить к нам апстрим. Это примерно 3000 коммитов со множественными рефакторингами. Я попытался залить первые 500 и гит сразу залил так, что корректность исходного текста потерялась. Ясно, что разрешить конфликты мы можем, но вряд ли это будет потом работать.
Теперь мне нужна программа-заменялка, которая сделает следующее:
- сравнит нашу версию и апстрим на момент форка
- напишет скрипт, где, что и на что заменять, но более умно, чем гит. Например, не на базе строк, а на базе лексем нашего выбранного языка программирования
- мы просто возьмём новый апстрим
- выполним на нём этот скрипт
- получим русифицированный апстрим
- и дальше уже руками впилим наши изменения в алгоритмах
Какие программы могут тут помочь? Я нашёл на гитхабе только неживой «лексический diff», это бы могло подойти для начала, но нужен ещё «лексический patch» к нему.