Что означают коды результатов в SVN? Мне нужна краткая справка.
Что означают коды результатов в SVN?
Ответ 1
Дополнительные сведения см. в SVNBook: Состояние рабочих файлов и каталогов копирования.
Общие статусы:
U: рабочий файл обновлен
G: изменения в репо были автоматически объединены в рабочую копию
M: рабочая копия изменена
C: этот файл конфликтует с версией в репо
?: этот файл не находится под управлением версиями
!: этот файл находится под управлением версиями, но отсутствует или не завершен
A: этот файл будет добавлен в управление версиями (после фиксации)
A +: этот файл будет перемещен (после фиксации)
D: этот файл будет удален (после фиксации)
S: это означает, что файл или каталог были переключены с пути остальной рабочей копии (с помощью svn-переключателя) на филиал
I: Игнорируется
X: внешнее определение
~: тип изменен
R: элемент заменен в вашей рабочей копии. Это означает, что файл был запланирован для удаления, а затем новый файл с тем же именем был запланирован для добавления на его место.
L: элемент заблокирован
E: элемент существовал, как и было создано, с помощью обновления svn.
Ответ 2
Также обратите внимание, что код результата во втором столбце ссылается на свойства файла. Например:
U filename.1
U filename.2
UU filename.3
filename.1: файл был обновлен
filename.2: обновлено свойство или свойства в файле (например, svn: keywords)
filename.3: обновлен файл и его свойства
Ответ 3
Вы всегда можете получить список, запустив:
svn status --help
Ответ 4
Существует также статус "E"
E = Файл существовал до обновления
Это может произойти, если вы вручную создали папку, которая была бы создана путем выполнения обновления.
Ответ 5
Я хочу сказать что-то о статусе "G",
G: Изменения в репо были автоматически объединены в рабочую копию
Я думаю, что приведенное выше определение не является чистым, оно может вызвать небольшую путаницу, потому что все файлы автоматически объединяются в рабочую копию, правильная должна быть:
U = элемент (U), связанный с версией репозитория
G = элементы локальные изменения mer (G) ed с репозиторием
C = элементы локальных изменений (C) onflicted с репозиторием
D = элемент (D) из рабочей копии
A = элемент (A), работающий с рабочей копией
Ответ 6
Я обычно использую svn через gui, либо мою IDE, либо клиент. Из-за этого я никогда не помню коды, когда мне приходится прибегать к командной строке.
Я нахожу этот обманный лист большой помощью: Subversion Cheat Sheet
Ответ 7
Взгляните на ссылку книги Subversion: Состояние рабочих файлов и каталогов файлов
Очень рекомендуется для тех, кто делает почти что угодно с SVN.
Ответ 8
Всякий раз, когда у вас нет доступа к документации (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>"
}
Ответ 9
столбцы статуса 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 Status седьмой столбец: *
Устаревшая информация появляется в седьмом столбце (только если вы передаете переключатель -show-updates). Это то, что люди, которые новичок в SVN, ожидают выполнения команды, не понимая, что это только сравнивает текущее состояние файла с тем, какую информацию он извлекал с сервера при последнем обновлении.
Элемент вашей рабочей копии обновлен.
*
Более новая версия элемента существует на сервере.