Что означают коды результатов в 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

Ответ 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, ожидают выполнения команды, не понимая, что это только сравнивает текущее состояние файла с тем, какую информацию он извлекал с сервера при последнем обновлении.

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

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