Что означают коды результата в SVN? - PullRequest
288 голосов
/ 05 августа 2008

Что означают коды результата в SVN? Мне нужен краткий справочник.

Ответы [ 9 ]

499 голосов
/ 05 августа 2008

Дополнительные сведения см. В SVNBook: "Состояние файлов и каталогов рабочей копии" .

Общие статусы:

U : рабочий файл обновлен

G : изменения в репо были автоматически объединены в рабочую копию

M : рабочая копия изменена

C : Этот файл конфликтует с версией в репо

? : Этот файл не контролируется версиями

! : Этот файл находится под контролем версии, но отсутствует или не заполнен

A : Этот файл будет добавлен в систему контроля версий (после фиксации)

A + : этот файл будет перемещен (после фиксации)

D : этот файл будет удален (после фиксации)

S : Это означает, что файл или каталог был переключен с пути остальной части рабочей копии (с помощью переключателя svn) на филиал

I : игнорируется

X : внешнее определение

~ : тип изменен

R : Элемент заменен в вашей рабочей копии. Это означает, что файл был запланирован для удаления, а затем на его место было запланировано добавление нового файла с тем же именем.

L : Элемент заблокирован

E : Элемент существовал, как он был бы создан, посредством обновления SVN.

83 голосов
/ 17 августа 2008

Также обратите внимание, что код результата во втором столбце относится к свойствам файла. Например:

U   filename.1
 U  filename.2  
UU  filename.3

filename.1: файл был обновлен
filename.2: свойство или свойства файла (например, svn: Keywords) были обновлены
filename.3: и файл, и его свойства были обновлены

34 голосов
/ 17 мая 2011

Вы всегда можете получить список, набрав:

svn status --help
18 голосов
/ 23 мая 2012

Существует также статус 'E'

E = Файл существовал до обновления

Это может произойти, если вы вручную создали папку, которая была бы создана путем выполнения обновления.

17 голосов
/ 10 мая 2012

Я хочу кое-что сказать о статусе "G",

G: изменения в репо были автоматически объединены в рабочую копию

Я думаю, что приведенное выше определение не является ясным, оно может вызвать небольшую путаницу, поскольку все файлы автоматически объединяются в рабочую копию, правильное значение должно быть:

U = элемент (U) обновлен до версии хранилища

G = локальные изменения элемента, добавленные в хранилище

C = локальные изменения элемента (C), произошедшие в хранилище

D = элемент (D), выбранный из рабочей копии

A = элемент (A) добавлен в рабочую копию

12 голосов
/ 16 августа 2008

Посмотрите в справочнике Subversion Book: "Состояние файлов и каталогов рабочей копии"

Настоятельно рекомендуется для тех, кто делает что-то с SVN.

12 голосов
/ 08 августа 2008

Я обычно использую svn через графический интерфейс, либо мою IDE, либо клиента. Из-за этого я никогда не могу вспомнить коды, когда мне приходится прибегать к командной строке.

Мне очень полезна эта шпаргалка: Шпаргалка Subversion

10 голосов
/ 07 ноября 2016

столбцы состояния SVN

$ svn status
L index.html

Вывод команды разбит на шесть столбцов, но это не очевидно, потому что иногда столбцы пусты. Возможно, было бы более разумно указать пустые столбцы с черточками, как это делает ls -l вместо ничего. Тогда, например, L index.html будет выглядеть как --L--- index.html, что делает очевидным, что единственная информация, которую мы имеем, находится в третьем столбце о блокировке. Во всяком случае, как только вы узнаете, что это начинает иметь больше смысла.

SVN Статус первый столбец: A, D, M, R, C, X, I,?,!, ~

Первый столбец указывает, что элемент был добавлен, удален или иным образом изменен.

Без изменений.

A Элемент запланирован для добавления.

D Элемент запланирован для удаления.

M Элемент был изменен.

R Элемент заменен в вашей рабочей копии. Это означает, что файл был запланирован для удаления, а затем на его место было запланировано добавление нового файла с тем же именем.

C Содержимое (в отличие от свойств) элемента конфликтует с обновлениями, полученными из хранилища.

X Элемент относится к внешнему определению.

I Элемент игнорируется (например, с помощью свойства svn: ignore).

? Элемент не находится под контролем версий.

! Элемент отсутствует (например, вы переместили или удалили его без использования svn). Это также означает, что каталог является неполным (извлечение или обновление было прервано).

~ Элемент версионирован как один тип объекта (файл, каталог, ссылка), но был заменен другим типом объекта.

SVN Статус, второй столбец: M, C

Во втором столбце указывается состояние свойств файла или каталога.

Без изменений.

M Свойства этого элемента были изменены.

C Свойства этого элемента конфликтуют с обновлениями свойств, полученными из хранилища.

SVN Статус, третий столбец: L

Третий столбец заполняется только в том случае, если каталог рабочей копии заблокирован (обычно очистки svn должно быть достаточно для его очистки)

Элемент не заблокирован.

L Элемент заблокирован.

Статус четвертой колонки SVN: +

Четвертый столбец заполняется, только если для элемента запланировано добавление с историей.

История не запланирована с фиксацией.

+ История запланирована с фиксацией.

SVN Status пятая колонка: S

Пятый столбец заполняется, только если рабочая копия элемента переключена относительно его родителя

Элемент является дочерним по отношению к родительскому каталогу.

S Пункт переключен.

SVN Статус шестой столбец: К, О, Т, В

Шестой столбец заполнен информацией о блокировке.

При использовании –show-updates файл не блокируется. Если –show-updates не используется, это просто означает, что файл не заблокирован в этой рабочей копии.

K Файл заблокирован в этой рабочей копии.

O Файл заблокирован другим пользователем или в другой рабочей копии. Отображается только при использовании –show-updates.

T Файл был заблокирован в этой рабочей копии, но блокировка была украдена и недействительна. Файл в настоящее время заблокирован в хранилище. Отображается только при использовании –show-updates .-

B Файл был заблокирован в этой рабочей копии, но блокировка была сломана и недействительна. Файл больше не заблокирован. Появляется только при использовании –show-updates.

SVN Статус седьмой столбец: *

Появляется устаревшая информацияв седьмом столбце (только если вы пропустите параметр –show-updates). Это то, что люди, которые являются новичками в SVN, ожидают, что команда выполнит команду, не осознавая, что она сравнивает только текущее состояние файла с информацией, полученной с сервера при последнем обновлении.

Элемент в вашей рабочей копии обновлен.

* На сервере существует более новая версия элемента.

7 голосов
/ 13 января 2016

Если у вас нет доступа к документации ( SVNBook ), введите (Linux):

svn help status | grep \'\?\'
svn help status | grep \'\!\'
svn help status | grep \'\YOUR_SYMBOL_HERE\'

или вставьте следующую функцию в файл ~ / .bashrc, например:

svncode() {
  symbol=$1
  [ $symbol ] &&  svn help status | grep \'$(echo $symbol)\' || \
  echo "usage: svncode <symbol>"
}

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...