дополнительные рекомендации системы управления версиями для проектов и редакторов
Несколько директив, проекты и редакторы должны соответствовать для поддержки системы управления версиями.
Рекомендации
Проект или редактор, также должен выполнить следующие действия для поддержки системы управления версиями.
Область |
Проект |
Редактор |
Подробные сведения |
---|---|---|---|
Частные копии файлов |
X |
|
Среда поддерживает частные копии файлов. Это значит, что каждый пользователь является прикрепленной в проекте имеет его/ее собственной закрытой копии файлов в проекте. |
Сохраняемость ANSI Или Юникод |
X |
X |
При написании кода сохраняемости, сохраняет файлы в формате ANSI, поскольку большинство программ управления источника в настоящее время не поддерживают Юникод. |
Перечисляет файлы |
X |
|
Проект должен содержать конкретный список всех файлов в пределах его и должен иметь возможность перечисления списка файлов с помощью IVsSccProject2 OR GetProperty (VSH_PROPID_First_Child/Next_Sibling). Проект должен также предоставить имена элементов с помощью своего IsDocumentInProject реализация и поддержка имя (включая особые поиск файлов) до его GetMkDocument реализация. |
Форматирование текста |
X |
X |
Если возможно, файлы должны находиться в текстовом формате для поддержки объединить разные версии. Файлы, не входящие в текстовом формате, нельзя объединить с другими версиями файла более поздней версии. Предпочтительный формат текста XML. |
Ссылка-основано |
X |
|
Ссылка-основанные легко поддерживаются проекты в систему управления версиями. Однако каталог-основанные проекты также поддерживаются системой управления версиями, если проект может сформировать список ее файлов по требованию, независимо от того, существуют ли эти файлы на диске. При открытии проекта из системы управления версиями, файл проекта принесен вниз сначала перед любым из ее файлов. |
Сохраняет объекты и свойства в прогнозируемом порядке |
X |
X |
Сохраняет файлы в прогнозируемом порядке, как алфавитном порядке, упростить слияния. |
Перезагрузить |
X |
X |
При изменении файла на диске, редактор должен перезапустить его. Если необходимо участвовать в системе управления версиями, среда перезапускает данные автоматически путем вызова вашим ReloadDocData реализация. Самое строгое случай, когда извлечение перезагрузить возникает, если вызывающий IVsQueryEditQuerySave::QueryEditFiles и обработки сведений. Однако перезагрузить должен иметь возможность выполнять код в такой ситуации. Файлы проектов среды перезарядок автоматически. Однако проект должен реализовать IVsPersistHierarchyItem2 если вложенные иерархии для поддержки перезапустить вложенных файлов проекта. |