Мой коммит в Apache Commons IO

Несколько лет назад, работая над одним из проектов, я нашёл неприятную ошибку в библиотеке Apache Commons IO. Проблема не сильно критичная, поэтому я особо не стал уделять ей внимания, а просто создал задачу в их JIRA.

Суть ошибки состояла в том, что метод FilenameUtils.normalize не всегда корректно обрабатывал префиксы путей, преобразовывая //foo//./bar или похожие комбинации. Должно было получаться //foo/bar, а получалось /foo/bar. Префикс терялся. Подробнее лучше посмотрите в самой задаче IO-611.

С момента обнаружения мной этой проблемы уже прошло несколько лет, поэтому сам контекст я уже не вспомню, но в текущей версии исходников Apache Commons IO проблемы уже нет, однако в примерах из JavaDoc остался неверный ожидаемый результат.

В итоге мне просто осталось поправить JavaDoc, а заодно я написал тест на сам метод FilenameUtils.normalize, чтобы все примеры оттуда точно проходили.

Мой merge request на GitHub довольно быстро смержили прямо в тот же день. Я уже было собрался долго ждать, как это обычно бывает в бесплатных Open Source проектах. Так что теперь у меня есть свой собственный, хоть и очень скромный вклад в библиотеку Apache Commons IO. Жаль, правда, что саму ошибку не исправил, только JavaDoc и тесты. Лавры исправления ошибки, похоже, на себя взял кто-то другой.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *