Автор (ы) | Томас Лорд |
---|---|
Разработчик (и) | Энди Тай |
Окончательная версия | 1.3.5 / 20 июля 2006 г.; 14 лет назад (20.07.2006) |
Написано в | C |
Операционной системе | GNU / Linux, Windows, Mac OS X |
Тип | Контроль версий |
Лицензия | GPL |
Веб-сайт | www.gnu.org / software / gnu-arch / |
GNU arch программное обеспечение - это система распределенного контроля версий, которая является частью проекта GNU и распространяется по лицензии GNU General Public License. Он используется для отслеживания изменений, внесенных в дерево исходного кода, и помогает программистам объединять и иным образом управлять изменениями, внесенными несколькими людьми или в разное время.
По состоянию на 2009 год официальным статусом GNU arch является устаревание, и применяются только исправления безопасности. Bazaar (или 'bzr') с тех пор также стал официальным проектом GNU и, таким образом, может быть рассматривал замену GNU arch. Это не ответвление Arch.
Будучи распределенной, децентрализованной системой управления версиями, каждая ревизия, хранящаяся с использованием Arch, уникально идентифицируется глобально; такой идентификатор можно использовать в настройке распределенного, чтобы легко объединять или «выбирать» изменения из совершенно разных источников.
Децентрализация означает, что нет необходимости в центральном сервере, для которого разработчики должны быть авторизованы, чтобы вносить свой вклад. Как и в других системах, полная копия проекта, доступная только для чтения, становится доступной в «официальном» репозитории через HTTP, FTP или SFTP ; но затем участникам предлагается вносить изменения и публиковать их в собственном публичном архиве (репозитории), чтобы главный разработчик мог вручную объединить наборы изменений в официальный репозиторий.
Чтобы смоделировать поведение централизованных систем контроля версий, главный разработчик может разрешить доступ к оболочке (SSH ) или доступ для записи (FTP, SFTP, WebDAV ) в server, что позволяет авторизованным пользователям переходить на центральный сервер. Чаще всего в проектах, управляемых архитектурой GNU, есть ведущий доброжелательный диктатор, который объединяет изменения от участников.
GNU arch имеет несколько других функций:
Автор оригинала и Сопровождающим GNU Arch был Томас Лорд, который начал проект в 2001 году. Для управления репозиториями GNU Arch использовалась команда tla, инициализм для Tom Lord's Arch. Лорд запустил GNU arch как набор сценариев оболочки, чтобы предоставить альтернативу CVS. В 2003 году Arch стал частью проекта GNU.
Проект GNU arch разветвлялся несколько раз, в результате чего оба были Canonical Ltd. ' s теперь отказался от форка Baz и проекта Уолтера Лэндри ArX. Обе вилки вызвали враждебную реакцию: вилка ArX возникла из-за серьезного спора о направлении, и Лорд резко критиковал подход Canonical к объявлению проекта Baz.
В августе 2005 года Лорд объявил, что уходит с поста сопровождающего. GNU arch и рекомендовал, чтобы Baz стал основным проектом GNU Arch. Однако этого не произошло: Canonical отказалась от форка Baz в пользу отдельного проекта Bazaar, а выпуск Baz 1.5 был отменен в 2006 году. В октябре 2005 года Энди Тай объявил, что Lord и Фонд свободного программного обеспечения принял его предложение поддержать GNU arch. Впоследствии Тай объединил многие функции из Baz обратно в tla, но в марте 2008 года указал, что tla больше не находится в активной разработке и больше не конкурирует с другими системами контроля версий.
revc был прототип проекта управления версиями Томаса Лорда, который он намеревался превратить в GNU arch 2.0, призванный радикально отличаться от tla и черпать многие идеи из системы управления версиями Git. Об этом было объявлено в июне 2005 года, первый предварительный релиз был в июле, а последний - в августе, незадолго до ухода Лорда с поста сопровождающего. В revc было всего 10 основных команд, и Lord предназначался для устранения ограничительных пространств имен, сложных соглашений об именах файлов и увеличения скорости.
По состоянию на 2008 год последний предварительный выпуск, 0.0x2, revc все еще доступен, и Lord все еще интересуется некоторыми идеями в GNU arch, но у него нет ресурсов для возобновления разработки revc.
Возможно, наиболее распространенной критикой GNU arch является то, что его трудно изучить, даже для пользователей, которые имеют опыт работы с другими системами SCM. В частности, в GNU arch есть большое количество команд, которые могут напугать новых пользователей, а некоторые элементы дизайна, возможно, слишком сильно навязывают предпочтение Лорда в методах контроля версий.
Некоторые также критикуют GNU arch за использование очень необычного файла соглашения об именах ("FunkyFileNames" на Wayback Machine (архивировано 8 августа 2007 г.)), которые могут создавать трудности для использования его в сценариях, некоторых оболочках, и в переносе его на операционные системы, отличные от Unix. GNU arch критиковали за медленное выполнение как часть проектного решения, направленного на снижение сложности внутреннего кода.