Участник:Kae/Черновик

Материал из Википедии — свободной энциклопедии

Перейти к: навигация, поиск

[править] Оперативная и cтержневая ревизии
Рисунок 2. Указание стержневой ревизии
Рисунок 2. Указание стержневой ревизии

Номер ревизии используется в двух различных контекстах:

  • Оперативная ревизия (англ. operative revision)
  • Стержневая ревизия (англ. peg revision)

Ревизия называется оперативной, если она указывается как ревизия или диапазон ревизий, к которому должна быть применена команда, например:

svn log -r 199:230 http://...

В данном примере выполняется команда log для диапазона ревизий 199:230, который и является диапазоном оперативных ревизий.

Однако указание оперативной ревизии иногда может неоднозначно указывать на объекты хранилища. Например, в ситуации, показанной на рисунке 2, при указании только оперативной ревизии возникает неоднозначность при выполнении следующей команды:

svn log -r 29:33 http://.../bar.txt

Области, выделенные голубым и светло-зеленым фоном, в равной степени можно считать историей файла /bar.txt в диапазоне ревизий 29:33. В подобных случаях неоднозначность разрешается указанием стержневой ревизии. Стержневая ревизия — это номер ревизии, указанный после URL объекта файловой системы, отделенный символом @. URL со стержневой ревизией представляет собой полный идентификатор (имя+ревизия) объекта в двумерной файловой системе. При выполнении команды используется та единственная цепочка состояний, на которую указывает URL со стержневой ревизией:

svn log -r 29:33 .../file.txt@32
svn log -r 29:33 .../bar.txt@34