Что означают коды результатов в SVN?

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

9 ответов


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

общее состояние:

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

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

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

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

?: этот файл не находится под контролем версий

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

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

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

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

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

Я: игнорировать

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

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

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

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

E: элемент существовал, как он был бы создан, обновлением svn.


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

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

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


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

svn status --help

существует также статус "E"

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

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


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

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

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

U = элемент (U)pdated в версию репозитория

G = локальные изменения элемента mer (G)ed с хранилище

C = локальные изменения элемента (C) onflicted с репозиторием

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

a = пункт (A)dded для рабочей копии


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

Я считаю, что этот шпаргалка большая помощь: Подрывная Шпаргалка


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

настоятельно рекомендуется для тех, кто делает почти все с SVN.


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

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

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

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

enter image description here


столбцы состояния 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  элемент связан с определением externals.

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

 ?  деталь нет под версией управление.

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

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

состояние SVN второй столбец: M, C

второй столбец сообщает о состоянии файла или каталога свойства.

    нет изменений.

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

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

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

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

    элемент не запертый.

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

статус SVN четвертый столбец:+

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

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

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

состояние SVN Пятая колонка: S

пятый столбец заполняется только в том случае, если рабочая копия элемента переключена относительно его родитель!--34-->

    Item является дочерним элементом родительского каталога.

 S  пункт включен.

статус SVN шестая колонка: K, O, T, B

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

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

это работает копировать.

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

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

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

статус SVN седьмая колонка:*

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

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

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