GNU arch

редактировать
GNU arch
GNU arch logo.png
Автор (ы) Томас Лорд
Разработчик (и) Энди Тай
Окончательная версия 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.

Содержание
  • 1 Возможности
  • 2 История и поддержка
    • 2.1 GNU arch версии 1 и tla
    • 2.2 revc
  • 3 Критика
  • 4 См. Также
  • 5 Ссылки
  • 6 Внешние ссылки
Возможности

Будучи распределенной, децентрализованной системой управления версиями, каждая ревизия, хранящаяся с использованием Arch, уникально идентифицируется глобально; такой идентификатор можно использовать в настройке распределенного, чтобы легко объединять или «выбирать» изменения из совершенно разных источников.

Децентрализация означает, что нет необходимости в центральном сервере, для которого разработчики должны быть авторизованы, чтобы вносить свой вклад. Как и в других системах, полная копия проекта, доступная только для чтения, становится доступной в «официальном» репозитории через HTTP, FTP или SFTP ; но затем участникам предлагается вносить изменения и публиковать их в собственном публичном архиве (репозитории), чтобы главный разработчик мог вручную объединить наборы изменений в официальный репозиторий.

Чтобы смоделировать поведение централизованных систем контроля версий, главный разработчик может разрешить доступ к оболочке (SSH ) или доступ для записи (FTP, SFTP, WebDAV ) в server, что позволяет авторизованным пользователям переходить на центральный сервер. Чаще всего в проектах, управляемых архитектурой GNU, есть ведущий доброжелательный диктатор, который объединяет изменения от участников.

GNU arch имеет несколько других функций:

Атомарные коммиты
Коммиты по принципу "все или ничего". Дерево должно быть в надлежащем состоянии до того, как начнется фиксация, и фиксации не будут видны миру до завершения. Если фиксация прервана до этого, она остается невидимой и должна быть откатана до следующей фиксации. Это позволяет избежать повреждения архива и извлеченных копий других пользователей.
Ориентация на наборы изменений
Вместо отслеживания отдельных файлов (как в CVS ), GNU Arch отслеживает наборы изменений, которые похожи на патчи. Каждый набор изменений представляет собой описание разницы между одним исходным деревом и другим, поэтому набор изменений можно использовать для создания одной ревизии из другой. Авторам рекомендуется использовать одну фиксацию для каждой функции или исправления.
Простое ветвление
Ветвление эффективно и может охватывать архивы. Ветвь (или «тег») просто объявляет ревизию предка, и разработка продолжается оттуда.
Расширенное слияние
Из-за постоянной записи всех предков и объединенных ревизий слияние может потребоваться учетная запись, ветвь которой содержит какой патч, и может выполнять трехстороннее слияние на основе общей ревизии предка.
Криптографические подписи
Каждый набор изменений хранится с хешем для предотвращения случайного повреждения. Используя внешнюю программу для подписи файлов (например, GnuPG или другой клиент PGP ), эти хэши также можно дополнительно подписать, предотвращая несанкционированное изменение в случае взлома архива.
Переименование
Все файлы и каталоги можно легко переименовать. Они отслеживаются по уникальному идентификатору, а не по имени, поэтому история сохраняется, а исправления файлов правильно объединяются, даже если имена файлов в разных ветвях различаются.
Отслеживание метаданных
Разрешения всех файлов отслеживаются. Символьные ссылки поддерживаются и отслеживаются так же, как файлы и каталоги.
История и поддержка

GNU arch версии 1 и tla

Автор оригинала и Сопровождающим 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

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 критиковали за медленное выполнение как часть проектного решения, направленного на снижение сложности внутреннего кода.

См. Также
  • Портал бесплатного программного обеспечения с открытым исходным кодом
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-21 09:11:33
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте