При работе с репозиторием Subversion удаленные изменения (те, что в репозитории) являются входящими изменениями (удаленные → локальные), а локальные изменения - исходящие (локальные → удаленные).
В представлениях, сравнивающих локальные и удаленные копии, входящие изменения обозначаются синей стрелкой влево, а исходящие изменения - серой стрелкой вправо. Эти стрелки могут быть украшены для обозначения более конкретных операций.
С другой стороны, представление Package Explorer показывает состояние файла с помощью другого набора значков, представляющих его локальное состояние. Эти значки встречаются чаще всего, поэтому начнем с них:
- Файл игнорируется системой контроля версий. Вы можете контролировать, какие ресурсы будут игнорироваться, перейдя в Window → Preferences → Team → Ignored Resources .
- Файл не находится под контролем версий. Обычно это новые файлы, которые вы еще не зафиксировали в репозитории.
- Версионный файл, который необходимо добавить в удаленный репозиторий. Обычно это файлы, которые вы переименовали или переместили в другой каталог.
- Удаленная папка. Это папки, которые вы удалили локально, еще не зафиксировав изменения в репозитории. Обратите внимание, что файлы обычно удаляются из представления, когда они удаляются локально, поэтому они обычно не отображаются с этим значком.
- Файл без локальных изменений.
- Файл с локальными незафиксированными изменениями.
- Азаблокированный файл.
- Файл, для редактирования которого требуется блокировка. Обычно это файлы, которые нелегко объединить (например, двоичные файлы), но они могут иметь много редакторов. Файл нуждается в блокировке, когда его svn:needs-lock
свойство установлено, и Subversion попытается сделать эти файлы доступными только для чтения в файловой системе, чтобы обеспечить правильное снятие блокировки.
- Конфликтующий файл. Обычно это файлы, в которых был конфликт фиксации / обновления, который вы отметили для разрешения позже.
- Файл с конфликтом деревьев. Обычно это файлы с локальными изменениями, но с тех пор они были перемещены, удалены или переименованы в репозитории с момента последнего обновления локальной копии.
- Файл, внешний по отношению к проекту. Связанные внешние файлы не могут быть сохранены в репозитории. - Файл, который был
переключился . Это файлы, которые принадлежат другой рабочей копии, чем их локальный родительский каталог.
В представлении синхронизации (например, через синхронизацию с репозиторием или фиксацию ), как описано ранее, есть значки, указывающие, в каком направлении происходит изменение, а также дополнительная информация об этом изменении. Они описаны ниже:
Исходящие
- файл, содержимое которого было изменено и будет зафиксировано в репозитории.
- Файл, который будет недавно добавлен в репозиторий. Это может совпадать с удалением файла в случаях, когда файл перемещается или переименовывается.
- Файл, который будет удален из репозитория. Это может совпадать с добавлением файла в случаях, когда файл перемещается или переименовывается.
- Файл с изменениями свойств в диалоговом окне «Фиксация». На вкладке «Синхронизация» изменения свойств в настоящее время отражаются как обычное изменение файла ( ).
Входящий
- файл с изменениями содержимого, зафиксированными в репозитории, который будет применен к локальной копии.
- Новый файл, который будет добавлен в локальную копию из репозитория. Как и добавление исходящего файла, это может быть результатом перемещения или переименования.
- Файл, который будет удален из локальной копии, так как он был удален из репозитория. Как и удаление исходящего файла, это может быть результатом перемещения или переименования.
Конфликт
- файл, который был независимо изменен как в локальной копии, так и в репозитории, что привело к необходимости разрешения конфликта. Для исправления этого условия необходимо открыть окно просмотра конфликтов или принудительно перезаписать изменения локально или удаленно.
- Файл с конфликтом деревьев . Это может произойти, когда есть новые изменения в файле на одном конце (локальном или удаленном), а файл перемещается, удаляется или переименовывается на другом.
Наконец, параметр « Синхронизировать с репозиторием» открывает вкладку «Синхронизация» ( ) со следующими кнопками:
- Синхронизирует локальную копию с текущим выбранным репозиторием при нажатии. Выбор из раскрывающегося списка позволяет переключаться между различными базами удаленного кода.
- Показывает только входящие изменения (удаленные → локальные).
- Показывает только исходящие изменения (локальные → удаленные).
- Показывает как входящие, так и исходящие изменения (удаленные ↔ локальные).
- Показывает противоречивые изменения.
- Обновляет все локальные ресурсы с входящими изменениями после запроса.
- Открывает диалог фиксации для фиксации всех исходящих изменений.
- Разбивает списки изменений по ревизиям.
Есть несколько других видов, которые не были рассмотрены, с дополнительными значками, но, надеюсь, это будет хорошим началом. Дайте мне знать, если чего-то важного не хватает или если какое-либо из этих описаний отличается от вашего реального опыта.