Jump to content

GNU арка

GNU арка
Оригинальный автор(ы) Томас Лорд
Разработчик(и) Энди Тай
Финальный выпуск
1.3.5 / 20 июля 2006 г .; 18 лет назад ( 20 июля 2006 )
Написано в С
Операционная система Linux , Windows , Mac OS X
Тип Контроль версий
Лицензия лицензия GPL
Веб-сайт www .gnu .org /программное обеспечение /gnu-arch /

GNU Arch Программное обеспечение — это распределенная система контроля версий , которая является частью проекта GNU и лицензируется по лицензии GNU General Public License . Он используется для отслеживания изменений, внесенных в дерево исходного кода, и помогает программистам комбинировать и иным образом манипулировать изменениями, внесенными несколькими людьми или в разное время.

По состоянию на 2009 год официальный статус GNU Arch устарел, и применяются только исправления безопасности. [1] Bazaar (или bzr) с тех пор также стал официальным проектом GNU и, таким образом, может считаться заменой GNU Arch. Это не развилка арки. [2]

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

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

Чтобы имитировать поведение централизованных систем контроля версий, главный разработчик может разрешить доступ к оболочке ( SSH ) или доступ на запись (FTP, SFTP, WebDAV ) к серверу, позволяя авторизованным пользователям выполнять фиксацию на центральном сервере. Чаще всего проекты, управляемые 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. [3] В 2003 году Arch стал частью проекта GNU . [4]

Архивный проект GNU несколько раз разветвлялся , что привело как к ныне компании Canonical Ltd., заброшенному форку Baz так и к проекту ArX Уолтера Лэндри. Оба форка вызвали враждебную реакцию: форк ArX произошел из-за серьезного спора о направлении, а Лорд резко критиковал подход Canonical к анонсу проекта Baz. [5]

В августе 2005 года Лорд объявил, что уходит с поста сопровождающего GNU Arch, и рекомендовал Baz стать основным проектом GNU Arch. [6] Однако этого не произошло: Canonical отказалась от форка Baz в пользу отдельного проекта Bazaar , [7] [8] выпуск Baz 1.5 был списан в 2006 году. [9] В октябре 2005 года Энди Тай объявил, что Лорд и Фонд свободного программного обеспечения приняли его предложение стать сопровождающим GNU Arch. [10] Впоследствии Тай объединил многие функции Baz обратно в tla. [9] но в марте 2008 года было указано, что tla больше не находится в активной разработке и больше не может конкурировать с другими системами контроля версий. [1]

пересмотр

[ редактировать ]

revc был прототипом проекта контроля версий Томаса Лорда, который он намеревался превратить в GNU Arch 2.0, призванный радикально отклониться от tla и позаимствовать многие идеи из системы контроля версий Git . [11] Об этом было объявлено в июне 2005 г. [11] первый предварительный выпуск состоялся в июле [12] и последний в августе, незадолго до ухода Лорда с поста сопровождающего. [13] revc имел только 10 основных команд, и Лорд намеревался устранить ограничительные пространства имен, сложные соглашения об именах файлов и увеличить скорость. [12]

По состоянию на 2008 год последняя предварительная версия revc 0.0x2 все еще доступна. [14] и Лорд все еще интересовался некоторыми идеями GNU Arch, но у него не было ресурсов для возобновления разработки revc. [15] Томас Лорд умер в июне 2022 года. [16]

Возможно, наиболее распространенная критика GNU Arch заключается в том, что ее трудно освоить даже пользователям, имеющим опыт работы с другими системами SCM . В частности, GNU Arch имеет большое количество команд, которые могут отпугивать новых пользователей, а некоторые элементы дизайна, возможно, слишком сильно навязывают вкус Лорда в методах контроля версий. [17] [18]

Некоторые также критикуют GNU Arch за использование очень необычных соглашений об именах файлов ( «FunkyFileNames» на Wayback Machine (архив от 8 августа 2007 г.)), что может создавать трудности при использовании его в сценариях, некоторых оболочках и при его портировании на не-Unix системы. операционные системы. GNU Arch критиковали за медленное время работы как часть дизайнерского решения, направленного на уменьшение сложности внутреннего кода. [19]

См. также

[ редактировать ]
  1. ^ Jump up to: а б Тай, Энди (28 марта 2008 г.). "Re:revc" . gnu-arch-users (список рассылки) . Проверено 17 июня 2008 г.
  2. ^ «История базара» . Архивировано из оригинала 26 февраля 2009 года . Проверено 20 мая 2014 г.
  3. ^ Моффит, Ник (1 ноября 2004 г.). «Контроль версий с помощью Arch: Введение в Arch» . Linux-журнал . Проверено 18 июня 2008 г.
  4. ^ Лорд, Том (13 июля 2003 г.). «GNU, doc foo, краткосрочные планы, предложения по хакерству, деньги» . Arch-пользователи (список рассылки) . Проверено 18 июня 2008 г. [ постоянная мертвая ссылка ]
  5. ^ Лорд, Томас (31 октября 2004 г.). «дух сообщества» . gnu-arch-users (список рассылки) . Проверено 17 июня 2008 г.
  6. ^ Лорд, Томас (15 августа 2005 г.). «Сопровождение GNU Arch» . gnu-arch-users (список рассылки) . Проверено 17 июня 2008 г.
  7. ^ «Baz1x — Базарный контроль версий» . 24 июля 2006 г. Архивировано из оригинала 7 января 2008 г. Проверено 17 января 2008 г.
  8. ^ Арбаш Мейнель, Джон; Аарон Бентли; Мартин Пул; Марк Шаттлворт (26 июля 2006 г.). «История Базара» . Архивировано из оригинала 26 февраля 2009 г. Проверено 20 февраля 2008 г.
  9. ^ Jump up to: а б Коллинз, Роберт (30 июня 2006 г.). "выпуск 1,5" . базар-старый (Список рассылки). Архивировано из оригинала 12 мая 2011 г. Проверено 16 июня 2007 г.
  10. ^ Тай, Энди (27 октября 2005 г.). «Re: Хорошие новости о GNU Arch!» . gnu-arch-users (список рассылки) . Проверено 17 июня 2008 г.
  11. ^ Jump up to: а б Лорд, Томас (20 июня 2005 г.). «кодовая база Arch 2.0 находится в стадии разработки» . gnu-arch-dev (список рассылки) . Проверено 17 июня 2008 г. [ постоянная мертвая ссылка ]
  12. ^ Jump up to: а б Лорд, Томас (8 июля 2005 г.). «GNU Arch 2.0 — первый исходный код» . gnu-arch-dev (список рассылки). Архивировано из оригинала 17 мая 2011 г. Проверено 17 июня 2008 г.
  13. ^ Лорд, Томас (1 августа 2005 г.). «Выпуск Arch 2.0 (revc.0.0x2)» . gnu-arch-users (список рассылки) . Проверено 17 июня 2008 г.
  14. ^ Вандребек, Лоран (26 марта 2008 г.). "ревк" . gnu-arch-users (список рассылки) . Проверено 17 июня 2008 г.
  15. ^ Лорд, Томас (28 марта 2008 г.). "Re:revc" . gnu-arch-users (список рассылки) . Проверено 17 июня 2008 г.
  16. ^ Томас Лорд 1966–2022 , 26 июня 2022 г.
  17. ^ Пул, Мартин (21 июня 2004 г.). — Что не так с Арчем? . Архивировано из оригинала 14 июля 2012 г. Проверено 18 июня 2008 г.
  18. ^ Пул, Мартин (26 сентября 2004 г.). «Интервью Тома Лорда и сопутствующие вещи» . Архивировано из оригинала 13 июля 2012 г. Проверено 18 июня 2008 г. Более ранние версии были во многом привязаны к проектам, которые выполнялись так, как того хотел Том: странные [sic] соглашения о файлах, коммит только из чистых деревьев и так далее.
  19. ^ Веймер, Флориан (9 июня 2004 г.). «Некоторые проблемы с GNU Arch» . Проверено 18 июня 2008 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 155b6738cdb6d6e232eef90e412b8e8d__1715861640
URL1:https://arc.ask3.ru/arc/aa/15/8d/155b6738cdb6d6e232eef90e412b8e8d.html
Заголовок, (Title) документа по адресу, URL1:
GNU arch - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)