Ответов (9)9
Дополнительные сведения см. В SVNBook: «Состояние файлов и каталогов рабочих копий» .
Общие статусы:
U : Рабочий файл обновлен
G : Изменения в репо были автоматически объединены в рабочую копию
M : Рабочая копия изменена
C : этот файл конфликтует с версией в репо
? : Этот файл не находится под контролем версий
! : Этот файл находится под контролем версий, но отсутствует или является неполным
A : Этот файл будет добавлен в систему контроля версий (после фиксации)
A + : этот файл будет перемещен (после фиксации)
D : этот файл будет удален (после фиксации)
S : это означает, что файл или каталог был переключен с пути к остальной части рабочей копии (с помощью переключателя svn) на ветку
I : игнорируется
X : Внешнее определение
~ : Тип изменен
R : Элемент был заменен в вашей рабочей копии. Это означает, что файл был запланирован для удаления, а затем на его место было запланировано добавление нового файла с тем же именем.
L : элемент заблокирован
E : Предмет существовал в том виде, в каком он был бы создан при обновлении svn.
Я хочу сказать кое-что о статусе "G",
G: Изменения в репо были автоматически объединены в рабочую копию
Я думаю, что приведенное выше определение не является ясным, оно может вызвать небольшую путаницу, потому что все файлы автоматически объединяются в рабочую копию, правильным должно быть:
U = элемент (U), обновленный до версии репозитория
G = локальные изменения элемента, добавленные (G) с репозиторием
C = локальные изменения элемента (C) в репозитории
D = элемент (D) выбран из рабочей копии
A = элемент (A) добавлен в рабочую копию
Столбцы статуса 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: S
Пятый столбец заполняется только в том случае, если рабочая копия элемента переключена относительно его родительского элемента.
Элемент является дочерним по отношению к родительскому каталогу.
S
Пункт переключен.
Шестой столбец статуса SVN: K, O, T, B
Шестой столбец заполнен информацией о блокировке.
Когда используется –show-updates, файл не блокируется. Если –show-updates не используется, это просто означает, что файл не заблокирован в этой рабочей копии.
K
Файл заблокирован в этой рабочей копии.
O
Файл заблокирован либо другим пользователем, либо в другой рабочей копии. Это появляется только при использовании –show-updates.
T
Файл был заблокирован в этой рабочей копии, но блокировка была украдена и недействительна. В настоящее время файл заблокирован в репозитории. Это появляется только при использовании –show-updates.-
B
Файл был заблокирован в этой рабочей копии, но блокировка снята и недействительна. Файл больше не заблокирован. Появляется только при использовании –show-updates.
Седьмой столбец статуса SVN: *
Устаревшая информация отображается в седьмом столбце (только если вы передаете параметр –show-updates). Это то, что люди, которые плохо знакомы с SVN, ожидают, что команда будет делать, не осознавая, что это только сравнивает текущее состояние файла с той информацией, которую он получил с сервера при последнем обновлении.
Элемент в вашей рабочей копии актуален.
*
На сервере существует более новая версия элемента.
Если у вас нет доступа к документации ( 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>"
}
Обычно я использую svn через графический интерфейс, мою IDE или клиент. Из-за этого я никогда не могу вспомнить коды, когда мне приходится прибегать к командной строке.
Я считаю, что эта шпаргалка мне очень поможет: Шпаргалка по Subversion
Взгляните на ссылку книги Subversion: "Статус файлов и каталогов рабочих копий"
Настоятельно рекомендуется для всех, кто что-либо делает с SVN.
Также обратите внимание, что код результата во втором столбце относится к свойствам файла. Например:
U filename.1
U filename.2
UU filename.3
filename.1: файл был обновлен
filename.2: свойство или свойства файла (например, svn: ключевые слова) были обновлены
filename.3: обновлены и файл, и его свойства