
По данным официальногоНовости XStow, пакет последний раз обновлялся 2010-07-22. С другой стороны, GNU Stowgit-репозиторий(поддерживается Адамом Спирсом) был активен всего 10 дней назад, ипоследняя стабильная версиявышел 18 февраля 2012 года.
Большая часть информации, которую я могу найти в Интернете о различиях между Stow и XStow, датируется многолетней давностью и, похоже, не отражает никаких недавних изменений.
Итак, каков современный взгляд на различия между GNU Stow и XStow?
решение1
Раздел «Особые возможности»Домашняя страница XStowустарело; например, GNU Stow теперь поддерживает несколько каталогов stow и поддерживает регулярные выражения в некоторых контекстах. Выпуск 2.x был почти полностью переписан, с серьезным рефакторингом, улучшеннымдвухфазный подход, и всеобъемлющий набор тестов. С тех пор я добавил и изменилмного вещейвключая поддержку списков игнорирования, принятие файлов, опциональное отключение сворачивания (AFAICS XStow вообще не поддерживает сворачивание, что неудивительно, поскольку это, безусловно, самая сложная вещь для правильной настройки).
По моему несомненно предвзятому мнению, изначальная мотивация написания XStow была сомнительной или, по крайней мере, обусловлена причинами, которые теперь устарели. На домашней странице написано«Stow требует Perl. Но что делать в системах, где Perl недоступен или еще не установлен? Я пробовал скомпилировать Stow с помощью perlcc, но это не удалось», но на самом деле, сколько систем поддерживают символические ссылки и не имеют предустановленного Perl? Perl вездесущ. C++ кажется мне абсолютно ужасным выбором языка для такого рода утилит, где производительность гораздо менее важна, чем поддерживаемость кода.
Тем не менее, похоже, что у XStow есть несколько интересных трюков, и я намерен позаимствовать хотя бы один из них для GNU Stow, добавивустановить крючкидля обработки варианта использования слияния информации dir
, по крайней мере. Также код поддерживается в репозитории git, и я с радостью приму запросы на извлечение в отношениипроект github.
Я также планирую выпустить новую версию GNU Stow в какой-то момент в этом году, но пока что в git не так много изменений с момента последнего релиза (2.2.0). Мои главные приоритеты в настоящее время — облегчить выборочное сворачивание и установить хуки.
решение2
Читая веб-страницы, XStow был повторной реализацией Stow в определенный момент времени, поэтому я предполагаю, что все, что было добавлено в Stow с 2008-09-27, отсутствует в XStow. Они предлагают точно такое же поведение (как минимум), хотя XStow написан на C++, а не на perl, и предлагает некоторые дополнительные функции (которые нарушают совместимость со Stow).