Jump to content

Подрывная версия Apache

Подрывная версия Apache
Оригинальный автор(ы) КоллабНет
Разработчик(и) Фонд программного обеспечения Apache
Первоначальный выпуск 20 октября 2000 г .; 23 года назад ( 20.10.2000 )
Стабильный релиз(ы)
1.14.3 [1]  Отредактируйте это в Викиданных / 28 декабря 2023 г .; 5 месяцев назад ( 28 декабря 2023 г. )
Репозиторий
Написано в С
Операционная система
Тип Контроль версий
Лицензия Апач-2.0 [а]
Веб-сайт подрывная деятельность .apache .org  Edit this on Wikidata

Apache Subversion (часто сокращенно SVN , по названию команды svn ) — это система контроля версий, распространяемая с открытым исходным кодом по лицензии Apache . [2] Разработчики программного обеспечения используют Subversion для поддержки текущих и прошлых версий файлов, таких как исходный код , веб-страницы и документация. Его цель — стать наиболее совместимым преемником широко используемой системы параллельных версий (CVS).

Сообщество открытого исходного кода широко использовало Subversion: например, в таких проектах, как Apache Software Foundation , FreeBSD , SourceForge , а с 2006 по 2019 год — GCC . CodePlex ранее был общим хостом для репозиториев Subversion.

Subversion была создана CollabNet Inc. в 2000 году и в настоящее время является проектом Apache верхнего уровня, который создается и используется глобальным сообществом участников. [3]

История [ править ]

CollabNet основала проект Subversion в 2000 году как попытку написать систему контроля версий с открытым исходным кодом, которая работала бы во многом аналогично CVS , но исправляла ошибки и предоставляла некоторые функции, отсутствующие в CVS. [4] К 2001 году Subversion продвинулась достаточно далеко, чтобы размещать собственный исходный код . [4] а в феврале 2004 г. была выпущена версия 1.0. [5] В ноябре 2009 года Subversion была принята в инкубатор Apache: это положило начало процессу превращения в стандартный проект Apache верхнего уровня. [6] 17 февраля 2010 года он стал проектом Apache верхнего уровня. [7]

Версия Исходная дата выпуска Последняя версия Последняя дата выпуска Статус
Старая версия, больше не поддерживается: 1.0. 2004-02-23 1.0.9 2004-10-13 Больше не поддерживается
Старая версия, больше не поддерживается: 1.1. 2004-09-29 [8] 1.1.4 2005-04-01 Больше не поддерживается
Старая версия, больше не поддерживается: 1.2. 2005-05-21 [9] 1.2.3 2005-08-19 Больше не поддерживается
Старая версия, больше не поддерживается: 1.3. 2005-12-30 [10] 1.3.2 2006-05-23 Больше не поддерживается
Старая версия, больше не поддерживается: 1.4. 2006-09-10 [11] 1.4.6 2007-12-21 Больше не поддерживается
Старая версия, больше не поддерживается: 1.5. 2008-06-19 [12] 1.5.9 2010-12-06 Больше не поддерживается
Старая версия, больше не поддерживается: 1.6. 2009-03-20 [13] 1.6.23 2013-05-30 Больше не поддерживается
Старая версия, больше не поддерживается: 1.7. 2011-10-11 [14] 1.7.22 2015-08-12 Больше не поддерживается
Старая версия, больше не поддерживается: 1.8. 2013-06-18 [15] 1.8.19 2017-08-10 Больше не поддерживается
Старая версия, больше не поддерживается: 1.9. 2015-08-05 [16] 1.9.12 2019-07-24 Больше не поддерживается
Старая версия, больше не поддерживается: 1.10. 2018-04-13 [17] 1.10.8 2022-04-12 Больше не поддерживается
Старая версия, больше не поддерживается: 1.11. 2018-10-30 [18] 1.11.1 2019-01-11 Больше не поддерживается
Старая версия, больше не поддерживается: 1.12. 2019-04-24 [19] 1.12.2 2019-07-24 Больше не поддерживается
Старая версия, больше не поддерживается: 1.13. 2019-10-30 [20] 1.13.0 2019-10-30 Больше не поддерживается
Текущая стабильная версия: 1.14. 2020-05-27 [21] 1.14.3 2023-12-20 Полная поддержка, LTS
Будущая версия: 1.15 2024-0x 1.15.0 (Еще не выпущено) В разработке
Легенда:
Старая версия
Старая версия, все еще поддерживается
Последняя версия
Последняя предварительная версия
Будущий выпуск

Даты выпуска взяты из Apache Subversion. CHANGES файл, [22] который записывает всю историю выпусков.

Особенности [ править ]

  • Фиксации как настоящие атомарные операции (прерванные операции фиксации в CVS могут привести к несогласованности или повреждению репозитория).
  • Система поддерживает управление версиями для каталогов и некоторых метаданных файлов ( см. Свойства ). Пользователи могут очень быстро перемещать или копировать файлы и целые деревья каталогов, сохраняя при этом полную историю изменений (которая реализуется посредством ссылки на исходный объект).
  • Управление версиями символических ссылок .
  • Встроенная поддержка двоичных файлов с экономичным хранилищем двоичных различий.
  • HTTP-сервер Apache в качестве сетевого сервера, WebDAV / Delta-V в качестве протокола . Существует также независимый серверный процесс под названием svnserve, который использует собственный протокол TCP/IP .
  • Ветвление реализуется путем копирования каталога, поэтому это дешевая операция, независимая от размера файла.
  • Изначально клиент-серверный многоуровневый дизайн . библиотеки
  • Протокол клиент/сервер отправляет различия в обоих направлениях.
  • Анализируемый вывод, включая XML . вывод журнала
  • Лицензия с открытым исходным кодом лицензия Apache , начиная с версии 1.7; предыдущие версии использовали производную лицензию на программное обеспечение Apache 1.1.
  • Интернационализированные программные сообщения.
  • Блокировка файлов для неслияемых файлов («зарезервированные извлечения»).
  • Авторизация на основе пути.
  • Привязки языков для C# , PHP , Python , Perl , Ruby и Java .
  • Полная поддержка MIME — пользователи могут просматривать или изменять тип MIME каждого файла, при этом программное обеспечение знает, какие типы MIME могут отличаться от предыдущих версий.
  • Отслеживание слияний — будут отслеживаться слияния между ветвями, что позволяет автоматически объединять ветки, не сообщая Subversion, что нужно и что не нужно объединять.
  • Списки изменений для организации коммитов в группы коммитов.

Типы репозиториев [ править ]

Subversion предлагает два типа хранилища репозитория.

Berkeley DB (устарело) [ править ]

В исходной разработке Subversion использовался пакет Berkeley DB .Subversion имеет некоторые ограничения при использовании Berkeley DB, когда программа, обращающаяся к базе данных, выходит из строя или принудительно завершает работу. Никакой потери или повреждения данных не происходит, но репозиторий остается в автономном режиме, пока Berkeley DB воспроизводит журнал и очищает все оставшиеся блокировки. Самый безопасный способ использования Subversion с репозиторием Berkeley DB предполагает запуск одного серверного процесса от имени одного пользователя (вместо использования общей файловой системы). [23] Серверная часть Berkeley DB устарела в версии 1.8. [24]

ФСФС [ править ]

В 2004 году была разработана новая подсистема хранения данных, получившая название FSFS.Он работает быстрее, чем серверная часть Berkeley DB, в каталогах с большим количеством файлов и занимает меньше места на диске.из-за меньшего количества журналов. [23]

Начиная с Subversion 1.2, FSFS стала хранилищем данных по умолчанию для новых репозиториев.

Этимология «FSFS» основана на использовании Subversion термина «файловая система» для обозначения системы хранения репозитория.FSFS хранит свое содержимое непосредственно в файловой системе операционной системы, а не в структурированной системе, такой как Berkeley DB.Таким образом, это «[Subversion] FileSystem поверх файловой системы».

FSX [ править ]

Новая файловая система под названием FSX находится в стадии разработки, чтобы устранить некоторые ограничения FSFS. Начиная с версии 1.9, она не считалась готовой к производству. [25]

Доступ к репозиторию [ править ]

Доступ к репозиториям Subversion может осуществляться следующими способами:

  1. Локальная файловая система или сетевая файловая система, [26] доступ к ним осуществляется клиентом напрямую. В этом режиме используется схема доступа к файлу:///путь .
  2. WebDAV /Delta-V (через http или https) с помощью модуль mod_dav_svn для Apache 2 . В этом режиме используется http://хост/путь или Схема доступа https://host/path для безопасных соединений с использованием SSL.
  3. Пользовательский протокол «svn» ( порт по умолчанию 3690), использующий обычный текст или через TCP/IP . В этом режиме используется либо схема доступа svn://host/path для незашифрованного транспорта или Схема svn+ssh://host/path для туннелирования через ssh.

Все три средства могут иметь доступ как к репозиториям FSFS, так и к репозиториям Berkeley DB.

Любая версия клиента 1.x может работать с любым сервером 1.x. Новые клиенты и серверы имеют дополнительные функции и возможности производительности, но имеют резервную поддержку для старых клиентов/серверов. [27]

Слои [ править ]

Внутри система Subversion состоит из нескольких библиотек, организованных в виде слоев. Каждый выполняет конкретную задачу и позволяет разработчикам создавать собственные инструменты нужного уровня сложности и специфичности.

Фс
Самый низкий уровень; он реализует файловую систему с поддержкой версий, в которой хранятся пользовательские данные.
Отдых
Речь идет о репозитории, построенном вокруг файловой системы. Он имеет множество вспомогательных функций и обрабатывает различные «перехватчики», которые могут иметь репозиторий, например, сценарии, которые запускаются при выполнении действия. Вместе Fs и Repos составляют «интерфейс файловой системы».
mod_dav_svn
Обеспечивает доступ WebDAV /Delta-V через Apache 2.
Солнце
Управляет «доступом к хранилищу», как локальным, так и удаленным. С этого момента репозитории упоминаются с использованием URL-адресов, например
  • файл:///путь/ для локального доступа,
  • http://хост/путь/ или https://host/path/ для доступа к WebDAV или
  • svn://хост/путь/ или svn+ssh://host/path/ для протокола SVN.
Клиент, Туалет
Самый высокий уровень. Он абстрагирует доступ к хранилищу и обеспечивает общие клиентские задачи, такие как аутентификация пользователей или сравнение версий. Клиенты Subversion используют библиотеку Wc для управления локальной рабочей копией.

Файловая система [ править ]

Файловую систему Subversion можно рассматривать как «двумерную». [28] Для однозначного обращения к элементам файловой системы используются две координаты:

Каждая ревизия в файловой системе Subversion имеет собственный корень , который используется для доступа к содержимому этой ревизии. Файлы хранятся как ссылки на самые последние изменения; таким образом, репозиторий Subversion довольно компактен. Система потребляет дисковое пространство пропорционально количеству внесенных изменений, а не количеству ревизий.

Файловая система Subversion использует транзакции для атомарного сохранения изменений . Транзакция работает с указанной версией файловой системы, не обязательно самой последней. Транзакция имеет собственный корень , в котором и производятся изменения. Затем она либо фиксируется и становится последней ревизией, либо прерывается. На самом деле транзакция является долгоживущим объектом файловой системы; клиенту не нужно самому фиксировать или прерывать транзакцию, он также может начать транзакцию, выйти, а затем снова открыть транзакцию и продолжить ее использование. Потенциально несколько клиентов могут получить доступ к одной и той же транзакции и совместно работать над атомарным изменением, хотя ни один из существующих клиентов не предоставляет такую ​​возможность.

Свойства [ править ]

Одной из важных особенностей файловой системы Subversion являются свойства: простые имя = значение текстовые пары . Большинство свойств встречаются в записях файловой системы (т. е. в файлах и каталогах). Они отслеживаются так же, как и другие изменения в файловой системе. Клиент Subversion резервирует префикс «svn:» для встроенных свойств, но для определения пользовательских свойств можно использовать и другие имена.

svn: исполняемый файл
Делает файл в рабочих копиях, размещенных в Unix, исполняемым, если это поддерживается файловой системой.
svn:mime-тип
Сохраняет тип интернет-медиа («тип MIME») файла. Влияет на обработку различий и слияний.
СВН: игнорировать
Список шаблонов имен файлов, которые следует игнорировать в каталоге. на CVS Похоже .cvsignore файл.
СВН: ключевые слова
Список ключевых слов для замены в файле при внесении изменений. Сам файл также должен ссылаться на ключевые слова как $ключевое слово$ или $ключевое слово:...$ . Это используется для хранения определенной информации (например, автора, даты последнего изменения, номера редакции) в файле без вмешательства человека.
Механизм замены ключевых слов происходит от RCS и CVS. [29]
svn: стиль eol
Заставляет клиента преобразовывать символы конца строки в текстовые файлы. Используется, когда необходима рабочая копия с определенным стилем EOL. Обычно используется «родной», так что EOL соответствуют стилю EOL операционной системы пользователя. Репозиториям может потребоваться это свойство для всех файлов, чтобы предотвратить несогласованные окончания строк, что само по себе может вызвать проблему.
СВН: внешние устройства
Позволяет автоматически извлекать части других репозиториев в подкаталог.
svn: нужна блокировка
Указывает, что файл должен быть извлечен с разрешениями только для чтения. Он предназначен для использования с запорным механизмом. Разрешение только для чтения напоминает о необходимости получить блокировку перед изменением файла: получение блокировки делает файл доступным для записи, а снятие блокировки снова делает его доступным только для чтения. Блокировки применяются только во время операции фиксации. Блокировки можно использовать без установки этого свойства. Однако это не рекомендуется, поскольку возникает риск изменения кем-то заблокированного файла; они обнаружат, что он заблокирован, только если их фиксация не удалась.
СВН: специальный
Это свойство не предназначено для установки или изменения пользователями напрямую. По состоянию на 2010 год он используется только для наличия символических ссылок в репозитории. Когда символическая ссылка добавляется в репозиторий, файл, содержащий цель ссылки, создается с этим набором свойств. Когда Unix-подобная система извлекает этот файл, клиент преобразует его в символическую ссылку.
svn:mergeinfo
Используется для отслеживания данных слияния (номеров ревизий) в Subversion 1.5 (или более поздних версиях). Это свойство автоматически поддерживается merge , и ее значение вручную менять не рекомендуется. [30]

Subversion также использует свойства самих ревизий. Как и вышеприведенные свойства в записях файловой системы, имена совершенно произвольны, при этом клиент Subversion использует определенные свойства с префиксом «svn:». Однако эти свойства не версионируются, и их можно изменить позже, если это разрешено перехватчиком pre-revprop-change. [31]

СВН: дата
Дата и время изменения.
СВН: автор
Имя пользователя, отправившего изменения.
СВН: журнал
Предоставленное пользователем описание изменений.

Ветвление и тегирование [ править ]

Subversion использует модель межфайлового ветвления от Perforce. [32] для реализации ветвей и тегов . Филиал – это отдельное направление развития. [33] Маркировка — это маркировка репозитория в определенный момент времени, чтобы его можно было легко найти в будущем. В Subversion единственная разница между ветвями и тегами заключается в том, как они используются.

Новая ветка или тег настраивается с помощью параметра « svn copy ", которую следует использовать вместо собственного механизма операционной системы. Скопированный каталог связан с оригиналом в репозитории, чтобы сохранить его историю, и копия занимает очень мало дополнительного места в репозитории.

Все версии в каждой ветке сохраняют историю файла до момента копирования, а также все изменения, внесенные с тех пор. Можно «слить» изменения обратно в ствол или между ветвями.

весь текст
Визуализация простого проекта Subversion

Ограничения и проблемы [ править ]

Известная проблема в Subversion влияет на реализацию операции переименования файлов и каталогов. По состоянию на 2014 год Subversion реализует переименование файлов и каталогов как «копирование» под новое имя с последующим «удалением» старого имени. Меняются только имена, все данные, относящиеся к истории изменений, остаются прежними, а Subversion по-прежнему будет использовать старое имя в старых версиях «дерева». Однако Subversion может запутаться, если перемещение конфликтует с изменениями, сделанными где-то еще. [34] как для обычных коммитов, так и при слиянии веток. [35] В выпуске Subversion 1.5 некоторые из этих сценариев были решены, в то время как другие остались проблематичными. [36] В версии Subversion 1.8 некоторые из этих проблем были решены, поскольку перемещение стало первоклассной операцией на клиенте, но в репозитории оно по-прежнему рассматривается как копирование+удаление. [37]

По состоянию на 2013 год , В Subversion отсутствуют некоторые функции администрирования и управления репозиторием. Например, кто-то может захотеть отредактировать репозиторий, чтобы навсегда удалить все исторические записи определенных данных. Subversion не имеет встроенной поддержки, позволяющей легко добиться этого. [38]

Subversion хранит дополнительные копии данных на локальном компьютере, что может стать проблемой для очень больших проектов или файлов, а также если разработчики работают над несколькими ветвями одновременно. В версиях до 1.7 эти .svn каталоги на стороне клиента могут быть повреждены из-за опрометчивых действий пользователя, таких как глобальные операции поиска/замены. [39] Начиная с версии 1.7 Subversion использует единый централизованный Папка .svn для каждой рабочей области. [40]

Subversion не сохраняет время изменения файлов. Таким образом, файл, извлеченный из репозитория Subversion, будет иметь «текущую» дату (вместо времени изменения в репозитории), а файл, проверенный в репозитории, будет иметь дату возврата (вместо времени изменения). время регистрации файла). Возможно, это не всегда то, что нужно. [41] Чтобы смягчить это, существуют сторонние инструменты, которые позволяют сохранять время модификации и другие метаданные файловой системы. [42] [43] Однако важно также указать текущую дату извлеченных файлов — именно так такие инструменты, как make(1), обратят внимание на измененный файл для его восстановления.

Subversion использует централизованную модель контроля версий . Бен Коллинз-Сассман , один из разработчиков Subversion, считает, что централизованная модель поможет не дать «небезопасным программистам» скрыть свою работу от других членов команды во время разработки. [44] Некоторые пользователи систем контроля версий считают централизованную модель вредной; как известно, Линус Торвальдс атаковал модель Subversion и ее разработчиков. [45]

Subversion часто плохо справляется с нормализацией имен файлов, выполняемой файловой системой HFS+ . Это может вызвать проблемы, когда файлы с акцентированными символами в именах добавляются в репозиторий в файловой системе, отличной от HFS+, а затем этот репозиторий используется с HFS+. [46]

Теги и ветки Subversion [ править ]

Номера ревизий трудно запомнить в любой системе контроля версий. По этой причине большинство систем предлагают символические теги в качестве удобных ссылок на них. Subversion не имеет такой функции, и то, что ее документация рекомендует использовать вместо этого, имеет совершенно другую природу. Вместо реализации тегов как ссылок на точки в истории Subversion рекомендует создавать копии снимков в хорошо известном подкаталоге (" tags/") в пространстве дерева репозитория. лишь несколько предопределённых ссылок : Доступно HEAD, BASE, PREV и COMMITTED.

Эта проекция истории в космос имеет несколько проблем:

  1. При создании снимка система не придает никакого особого значения имени тега/снимка. В этом разница между копией и ссылкой . Версия записывается, и доступ к снимку можно получить по URL-адресу. Это делает некоторые операции менее удобными, а другие невозможными. Например, наивный svn diff -r tag1:tag2 myfile не работает; добиться этого немного сложнее, поскольку пользователю требуется знать и вводить URL-адреса/пути к снимкам, а не только имена: svn diff <URL-TO-TAG1>/myfile <URL-TO-TAG2>/myfile. Другие операции, например svn log -r tag1:tag2 myfile просто невозможны.
  2. Когда в дереве репозитория живут два (в идеале независимые) типа объектов, может возникнуть «борьба за верх». Другими словами, часто бывает трудно решить, на каком уровне создавать tags/ подкаталог:
    ствол  /     /компонент  фу  /       компонентов / панель  / теги  /    /1.1/        /компонент  фу  /          компонентов / панель  / 
    или 
    компонент  foo  /            /  ствол  /            /  теги  /                 /1.1/  компонентов панель  /            /  ствол  /            /  теги  /                 /1.1/ 
  3. Теги, по их традиционному определению, доступны только для чтения и имеют небольшой вес как в репозитории, так и на клиенте. Копии Subversion не доступны только для чтения, и, хотя они легки в репозитории, они невероятно тяжелы для клиента.

Для решения таких проблем авторы списков рассылки Subversion предложили новую функцию под названием «метки» или «псевдонимы». [47] Метки SVN будут больше напоминать «теги» других систем, таких как CVS или Git . Тот факт, что Subversion имеет глобальные номера ревизий, открывает путь к очень простой реализации метки → ревизии. Однако по состоянию на 2013 год прогресса не было достигнуто, и символические теги не входят в список наиболее востребованных функций. [48]

Разработка и внедрение [ править ]

CollabNet продолжает участвовать в Subversion, но проект работает как независимое сообщество с открытым исходным кодом. В ноябре 2009 года проект был принят в инкубатор Apache с целью стать частью усилий Apache Software Foundation . [49] С марта 2010 года проект официально известен как Apache Subversion и является частью проектов верхнего уровня Apache. [50]

В октябре 2009 года WANdisco объявила о найме основных коммиттеров Subversion, поскольку компания стала крупным корпоративным спонсором проекта. В их число входил Хайрам Райт, президент Subversion Corporation и менеджер по выпуску проекта Subversion с начала 2008 года, который присоединился к компании, чтобы возглавить команду разработчиков открытого исходного кода. [51]

Сообщество разработчиков Subversion с открытым исходным кодом не предоставляет двоичные файлы, но потенциальные пользователи могут загружать двоичные файлы от добровольцев. [52] Хотя проект Subversion не включает официальный графический интерфейс пользователя (GUI) для использования с Subversion, третьи стороны разработали ряд различных графических интерфейсов, а также широкий спектр дополнительного вспомогательного программного обеспечения.

Работа, анонсированная в 2009 году, включала SubversionJ ( Java API ) и реализацию команды Obliterate, аналогичную той, что предоставлена ​​Perforce . Оба этих улучшения были спонсированы WANdisco. [53]

Коммиттеры Subversion обычно одновременно имеют по крайней мере одну или две новые функции в активной разработке. Выпуск Subversion 1.7 в октябре 2011 года включал оптимизированный HTTP-транспорт для повышения производительности и переписанную библиотеку рабочей копии. [54]

В 2002 году был проведен конкурс дизайнеров по выбору логотипа Subversion. Оригинальные записи, можно найти здесь а также голоса за каждый логотип . Текущий логотип получил наибольшее количество голосов на конкурсе.

См. также [ править ]

Примечания [ править ]

  1. ^ Apache-2.0 с 7 июля 2009 г.

Ссылки [ править ]

Сноски [ править ]

  1. ^ Натан Хартман (29 декабря 2023 г.). «[ОБЪЯВЛЕНИЕ] Выпущена Apache Subversion 1.14.3» . Проверено 29 декабря 2023 г.
  2. ^ «Подрывная деятельность» . каталог.fsf.org . Каталог свободного программного обеспечения . 2020 . Проверено 3 октября 2023 г.
  3. ^ «Фонд программного обеспечения Apache объявляет о 20-летии Apache Subversion» . Информационный центр GlobeNewswire (пресс-релиз). 27 февраля 2020 г. Проверено 29 января 2023 г.
  4. Перейти обратно: Перейти обратно: а б Коллинз-Сассман, Бен; Брайан В. Фицпатрик; К. Майкл Пилато (2011). «Что такое Subversion? > История Subversion» . Контроль версий с помощью Subversion (для Subversion 1.7) . Проверено 15 марта 2012 г.
  5. ^ Бенджамин Цейсс (2004). «выпущена Subversion 1.0» . Еженедельные новости Linux . Проверено 30 марта 2014 г.
  6. ^ Рубинштейн, Дэвид (4 ноября 2009 г.). «Subversion объединяет усилия с Apache» . СД Таймс. Архивировано из оригинала 11 ноября 2009 г. Проверено 15 марта 2012 г.
  7. ^ «Subversion теперь называется Apache Subversion» . 18 февраля 2010 года. Архивировано из оригинала 12 мая 2011 года . Проверено 15 марта 2012 г.
  8. ^ «Примечания к выпуску Subversion 1.1» . Проверено 21 сентября 2015 г.
  9. ^ «Примечания к выпуску Subversion 1.2» . Проверено 21 сентября 2015 г.
  10. ^ «Примечания к выпуску Subversion 1.3» . Проверено 21 сентября 2015 г.
  11. ^ «Примечания к выпуску Subversion 1.4» . Проверено 21 сентября 2015 г.
  12. ^ «Примечания к выпуску Subversion 1.5» . Проверено 21 сентября 2015 г.
  13. ^ «Примечания к выпуску Apache Subversion 1.6» . Проверено 21 сентября 2015 г.
  14. ^ «Примечания к выпуску Apache Subversion 1.7» . Проверено 21 сентября 2015 г.
  15. ^ «Примечания к выпуску Apache Subversion 1.8» . Проверено 21 сентября 2015 г.
  16. ^ «Примечания к выпуску Apache Subversion 1.9» . Проверено 21 сентября 2015 г.
  17. ^ «Примечания к выпуску Apache Subversion 1.10» . Проверено 17 апреля 2018 г.
  18. ^ «Примечания к выпуску Apache Subversion 1.11» . Проверено 31 октября 2018 г.
  19. ^ «Примечания к выпуску Apache Subversion 1.12» . Проверено 1 мая 2019 г.
  20. ^ «Примечания к выпуску Apache Subversion 1.13» .
  21. ^ «Примечания к выпуску Apache Subversion 1.14 LTS» . subversion.apache.org . Проверено 2 июня 2020 г.
  22. ^ «Файл ИЗМЕНЕНИЙ Apache Subversion» . Проверено 31 октября 2018 г.
  23. Перейти обратно: Перейти обратно: а б Бен Коллинз-Сассман; Брайан В. Фицпатрик; К. Майкл Пилато (2011). «Глава 5: Стратегии развертывания репозитория». Контроль версий с помощью Subversion: для Subversion 1.7 . О'Рейли.
  24. ^ «Примечания к выпуску Apache Subversion 1.8» . Проект Апач . Проверено 5 мая 2020 г.
  25. ^ «Примечания к выпуску Apache Subversion 1.9» .
  26. ^ Berkeley DB опирается на блокировку файлов и поэтому не должен использоваться в (сетевых) файловых системах, которые ее не реализуют.
  27. ^ Примечания к выпуску SVN 1.5
  28. ^ Базовое слияние
  29. ^ "rcs(1)" . Страницы руководства OpenBSD .
  30. ^ Свойства подрывной деятельности
  31. ^ до изменения ревпропа
  32. ^ Межфайловое ветвление: практический метод представления вариантов. Архивировано 14 июля 2007 г. в Wayback Machine.
  33. ^ Ветвление/тегирование — TortoiseSVN
  34. ^ «Реализовать настоящие переименования» . Архивировано из оригинала 1 декабря 2002 г. Проверено 11 мая 2007 г.
  35. ^ Расширенное слияние
  36. ^ Улучшения, связанные с копированием/перемещением, в Subversion 1.5.
  37. ^ Записи рабочих копий перемещаются как первоклассная операция в Subversion 1.8.
  38. ^ «[СВН-516] свн уничтожен» . Проверено 4 сентября 2023 г.
  39. ^ «Подотрезок — восстановление контрольной суммы SVN» .
  40. ^ Улучшения хранилища метаданных рабочей копии (клиент)
  41. ^ «[SVN-1256] Возможность сохранять время последней модификации (mtime) файлов под контролем версий» . Проверено 4 сентября 2023 г.
  42. ^ FreezeAttrib (сохраняет/восстанавливает атрибуты файла с помощью свойств)
  43. ^ fsvs - Полная система управления версиями системы на GitHub
  44. ^ Небезопасность программиста @ iBanjo
  45. ^ Видео Google Tech Talk и его расшифровка
  46. ^ «[SVN-2464] Канонизировать/stringprep имена файлов UTF-8 для обработки составных/разложенных различий, показанных, например, в Mac OS X HFS+» . Проверено 4 сентября 2023 г.
  47. ^ Например: Вайнтрауб, Дэвид (23 мая 2005 г.). «Метки Subversion против тегов » . SVN Dev (список рассылки) . Проверено 5 мая 2020 г.
  48. ^ «Дорожная карта подрывной деятельности Apache» . Проект Апач . Проверено 5 мая 2020 г.
  49. ^ «Subversion отправлена ​​в качестве проекта Apache Software Foundation» . 4 ноября 2009 года . Проверено 1 октября 2019 г.
  50. ^ «CollabNet поддерживает переход Subversion к проекту высшего уровня Apache» . КоллабНет. 1 марта 2010 г. Архивировано из оригинала 11 марта 2010 г.
  51. ^ WANdisco (7 января 2010 г.). «WANdisco назначает Хайрама Райта руководителем усилий по подрывной деятельности с открытым исходным кодом» . Выпуск новостей . Журнал с открытым исходным кодом. Архивировано из оригинала 18 января 2012 г. Проверено 29 октября 2011 г.
  52. ^ «Двоичные пакеты Apache Subversion» . Официальный сайт проекта . Проверено 29 октября 2011 г.
  53. ^ WANdisco (28 октября 2009 г.). «WANdisco представляет новые инициативы для проекта Subversion с открытым исходным кодом» . Выпуск новостей . СМ Перекресток. Архивировано из оригинала 18 ноября 2011 г. Проверено 29 октября 2011 г.
  54. ^ «Дорожная карта подрывной деятельности Apache» . Официальный сайт проекта . Проверено 29 октября 2011 г.

Источники [ править ]

  • К. Майкл Пилато, Бен Коллинз-Сассман, Брайан В. Фицпатрик; Контроль версий с помощью Subversion ; О'Рейли; ISBN   0-596-00448-6 (1-е издание, мягкая обложка, 2004 г., полная книга онлайн , зеркало )
  • Гаррет Руни; Практическая подрывная деятельность ; Апресс; ISBN   1-59059-290-5 (1-е издание, мягкая обложка, 2005 г.)
  • Майк Мейсон; Прагматичный контроль версий с использованием Subversion ; Прагматичная книжная полка; ISBN   0-9745140-6-3 (1-е издание, мягкая обложка, 2005 г.)
  • Уильям Нагель; Контроль версий Subversion: использование системы контроля версий Subversion в проектах разработки ; Прентис Холл; ISBN   0-13-185518-2 (1-е издание, мягкая обложка, 2005 г.)

Дальнейшее чтение [ править ]

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ffef1326e8e4aebc5231d6d8d4c83ea0__1717819500
URL1:https://arc.ask3.ru/arc/aa/ff/a0/ffef1326e8e4aebc5231d6d8d4c83ea0.html
Заголовок, (Title) документа по адресу, URL1:
Apache Subversion - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)