Как узнать, какие файлы будут обновлены / удалены / созданы перед запуском svn update в хранилище Subversion

Иногда из-за неправильных фиксаций, ощущения безопасности перед обновлением проекта в рабочей среде из репозитория SVN вам понадобится или вы захотите увидеть, какие файлы или каталоги будут зафиксированы, обновлены и т. Д. Перед выпуском вашего обновления, чтобы убедиться, что вам нужно сделать резервную копию некоторых файлов с конфиденциальной информацией на вашем сервере.

В этой статье мы расскажем вам о двух способах перечисления файлов, которые будут обновлены, если вы выполните svn update без фактического обновления вашей рабочей копии.

A. Показать статус обновления

Чтобы вывести список файлов, которые будут добавлены, обновлены или удалены из рабочей копии после выполнения команды svn update, вы можете использовать svn status команда с --show-updates флаг:

svn status --show-updates

Или с коротким синтаксисом:

REM First short syntax
svn status -u
REM Or even shorter
svn st -u

Эта команда предоставит список файлов в cli с некоторыми символами и ревизией, когда они доступны, например, следующий вывод:

SVN Показать файлы, которые будут обновлены в рабочей копии

Где первый столбец, где находится символ, указывает, что элемент был добавлен, удален или иным образом изменен со следующими символами:

  • » — означает, что не было изменений.
  • A«Пункт запланирован для добавления.
  • D‘- Элемент запланирован для удаления.
  • M‘- Предмет был изменен.
  • R‘- Товар был заменен в вашей рабочей копии. Это означает, что файл был запланирован для удаления, а затем на его место был запланирован новый файл с тем же именем.
  • C‘- содержимое (в отличие от свойств) элемента конфликтует с обновлениями, полученными из хранилища.
  • X‘- Элемент присутствует из-за внешнего определения.
  • I‘- Элемент игнорируется (например, со свойством svn: ignore).
  • ?‘- Элемент не находится под контролем версии.
  • !‘- Элемент отсутствует (например, вы переместили или удалили его без использования svn). Это также указывает на то, что каталог является неполным (извлечение или обновление было прервано).
  • ~‘- Элемент версионирован как один тип объекта (файл, каталог, ссылка), но был заменен другим типом объекта.

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

  • «Нет изменений.
  • M‘- Свойства для этого элемента были изменены.
  • C‘- Свойства этого элемента конфликтуют с обновлениями свойств, полученными из хранилища.

Третий столбец заполняется, только если каталог рабочей копии заблокирован:

  • » — Элемент не заблокирован.
  • L‘- Элемент заблокирован.

Четвертый столбец заполняется, только если элемент запланирован для добавления с историей:

  • » — Нет истории, запланированной с коммитом.
  • +‘- История запланирована с коммитом.

Пятый столбец заполняется, только если элемент переключен относительно своего родителя:

  • » — Item является дочерним по отношению к родительскому каталогу.
  • S‘- Пункт переключен.

Шестой столбец заполнен информацией о блокировке:

  • » — Когда используется —show-updates (-u), это означает, что файл не заблокирован. Если —show-updates (-u) не используется, это просто означает, что файл не заблокирован в этой рабочей копии.
  • K‘- Файл заблокирован в этой рабочей копии.
  • O‘- Файл заблокирован другим пользователем или в другой рабочей копии. Это появляется только когда используется —show-updates (-u).
  • T‘- Файл был заблокирован в этой рабочей копии, но блокировка была «украдена» и является недействительной. В настоящее время файл заблокирован в хранилище. Это появляется только когда используется —show-updates (-u).
  • B‘- Файл был заблокирован в этой рабочей копии, но блокировка была «сломана» и является недействительной. Файл больше не заблокирован. Это появляется только когда используется —show-updates (-u).

Седьмой столбец заполняется, только если элемент является жертвой конфликта дерева:

  • » — Предмет не является жертвой конфликта деревьев.
  • C‘- Предмет является жертвой конфликта деревьев.

Восьмой столбец всегда остается пустым. Устаревшая информация появляется в девятом столбце (только если вы передаете опцию —show-updates (-u)):

  • » — Элемент в вашей рабочей копии обновлен.
  • *‘- На сервере существует более новая версия элемента.

Б. Слить с пробным прогоном

Кроме того, если в вашей работе нет недостающих поддеревьев, вы сможете перечислить файлы, которые будут добавлены, удалены или обновлены с помощью следующей команды:

svn merge --dry-run -r BASE:HEAD .

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

Ссылка на основную публикацию
Adblock
detector