Відповіді:
Додаткову інформацію див. У SVNBook: "Стан робочих копій файлів та каталогів" .
Загальні статуси:
U : Робочий файл оновлено
G : Зміни в репо-файлі автоматично були об'єднані в робочу копію
М : Робоча копія модифікована
C : Цей файл суперечить версії репо
? : Цей файл не знаходиться під контролем версій
! : Цей файл знаходиться під контролем версій, але відсутній або неповний
A : Цей файл буде додано до контролю версій (після фіксації)
A + : Цей файл буде переміщено (після фіксації)
D : Цей файл буде видалено (після фіксації)
S : Це означає, що файл або каталог перейшли з шляху решти робочої копії (за допомогою перемикача svn) до гілки
Я : Проігноровано
X : Зовнішнє визначення
~ : Тип змінено
R : Елемент замінено у вашій робочій копії. Це означає, що файл було заплановано на видалення, а потім на його місце було заплановано додавання нового файлу з такою ж назвою.
L : Елемент заблокований
E : Елемент існував, як це було б створено, оновленням svn.
E
? У всій документації написано "Існувало", що не так корисно.
Також зауважте, що код результату у другому стовпці відноситься до властивостей файлу. Наприклад:
U filename.1
U filename.2
UU filename.3
filename.1: файл було оновлено
filename.2: властивість або властивості у файлі (наприклад, svn: ключові слова) було оновлено
filename.3: і файл, і його властивості були оновлені
Ви завжди можете отримати список, запустивши:
svn status --help
Я хочу сказати щось про статус "G",
G: Зміни в репо-файлі автоматично були об'єднані в робочу копію
Я думаю, що вищезазначене визначення не є зрозумілим, воно може створити невелику плутанину, оскільки всі файли автоматично об'єднуються у робочу копію, правильним має бути:
U = позиція (U), додана до версії сховища
G = локальні зміни елемента, сумісні з (G) ed із сховищем
C = локальні зміни пункту (C), пов'язані з сховищем
D = пункт (D), обраний із робочої копії
A = пункт (A), доданий до робочої копії
Зазвичай я використовую svn через gui, або IDE, або клієнт. Через це я ніколи не можу запам'ятати коди, коли мені доводиться вдаватися до командного рядка.
Я вважаю цю шпаргалку чудовою підмогою: Subversion Cheat Sheet
$ svn status
L index.html
Виведення команди розділено на шість стовпців, але це не очевидно, оскільки іноді стовпці порожні. Можливо, було б більше сенсу вказувати порожні стовпці з тире, як ls -l
це робиться, а не нічого. Тоді, наприклад, L index.html
це виглядало б --L--- index.html
, як це стає очевидним, що єдина інформація, яку ми маємо, - це в третьому стовпчику - інформація про блокування. У будь-якому разі, як тільки ти дізнаєшся, що це починає мати більше сенсу.
Перший стовпець вказує на те, що елемент було додано, видалено або змінено іншим чином.
Без змін.
A
Елемент запланований для додавання.
D
Елемент призначений для видалення.
M
Елемент змінено
R
Елемент замінено у вашій робочій копії. Це означає, що файл було заплановано на видалення, а потім на його місце було заплановано додавання нового файлу з такою ж назвою.
C
Вміст (на відміну від властивостей) елемента конфліктує з оновленнями, отриманими з сховища.
X
Елемент пов'язаний з визначенням зовнішніх.
I
Елемент ігнорується (наприклад, з властивістю svn: ignore).
?
Елемент не знаходиться під контролем версій.
!
Елемент відсутній (наприклад, ви перемістили або видалили його, не використовуючи svn). Це також вказує на те, що каталог неповний (замовлення або оновлення було перервано).
~
Елемент розбивається на один вид об’єкта (файл, каталог, посилання), але його замінили об'єкти іншого типу.
У другому стовпці вказується стан властивостей файлу чи каталогу.
Без змін.
M
Властивості цього елемента змінено.
C
Властивості цього елемента суперечать оновленням властивостей, отриманим із сховища.
Третій стовпчик заповнюється лише у випадку, якщо каталог робочої копії заблокований (очищення svn зазвичай має бути достатньо, щоб очистити його)
Елемент не заблокований.
L
Елемент заблокований.
Четвертий стовпець заповнюється лише в тому випадку, якщо елемент призначений для додавання з історією.
Жодна історія не планується з комітом.
+
Історія запланована з фіксацією.
П'ятий стовпчик заповнюється лише в тому випадку, якщо робоча копія елемента переключена відносно його батьківського
Елемент є дочірнім його батьківського каталогу.
S
Елемент перемикається.
Шостий стовпець заповнений інформацією про блокування.
Якщо використовується показ-оновлення, файл не блокується. Якщо –показ-оновлення не використовується, це просто означає, що файл не зафіксований у цій робочій копії.
K
Файл заблокований у цій робочій копії.
O
Файл блокується або іншим користувачем, або іншою робочою копією. Це з'являється лише тоді, коли використовується оновлення шоу.
T
Файл був заблокований у цій робочій копії, але блокування було вкрадено та недійсне. Зараз файл заблокований у сховищі. Це з’являється лише тоді, коли використовується оновлення шоу.-
B
Файл був заблокований у цій робочій копії, але блокування було порушено і недійсне. Файл більше не заблокований. Це з’являється лише тоді, коли використовуються –показ-оновлення.
Інформація про застарілу інформацію з’являється в сьомому стовпці (лише якщо ви перейдете до перемикача –оновлення). Це те, що люди, які є новими у SVN, очікують на виконання команди, не розуміючи, що вона лише порівнює поточний стан файлу з тією інформацією, яку він отримав із сервера під час останнього оновлення.
Елемент у вашій робочій копії є актуальним.
*
Більш нова редакція елемента існує на сервері.
Ознайомтесь із посиланням на книгу Subversion: "Статус робочих копій файлів та каталогів"
Дуже рекомендується для тих, хто робить майже все, що стосується 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>"
}