Использование поддержки Subversion в IDE NetBeans

IDE NetBeans обеспечивает соответствующий уровень интеграции с клиентами Subversion версий 1.6.x и более поздними версиями. Поддержка Subversion в IDE предназначена для упрощения процесса разработки у групп, работающих с общим репозиторием, и позволяет выполнять задачи контроля версий прямо с системы проекта из среды IDE.

В этом документе демонстрируется выполнение основных задач контроля версий в среде IDE путем рассмотрения стандартной последовательности действий при использовании программного обеспечения контроля версий.

Заметим, что поддержка Subversion в NetBeans не работает при использовании из Cygwin.

Subversion — это популярная система контроля версий с открытым кодом, которая стала заменой CVS из следующего поколения программ. Она обладает улучшенными возможностями, например:

  • предоставляется полный журнал версий для переименованных, перемещенных или удаленных файлов.
  • операции фиксирования неделимы (атомарны), это означает, что набор изменений проекта либо полностью попадает в репозиторий, либо, в случае ошибки подключения, не попадает совсем.
  • поддерживается контроль версий метаданных.

Содержание

Содержимое на этой странице применимо к IDE NetBeans 6.9 или более поздней версии

Для работы с этим учебным курсом требуются программное обеспечение и ресурсы, перечисленные ниже.

Программное обеспечение или материал Требуемая версия
IDE NetBeans версия 6.9, 7.0, 7.1, 7.2, 7.3 или 7.4
Комплект для разработчика на языке Java (JDK) версия 6 или 7
Клиентское программное обеспечение Subversion 1.6.x или более поздняя

Примечание для пользователей Windows. Входящий в комплект клиент Subversion можно установить как подключаемый модуль IDE NetBeans. Выберите 'Сервис' > 'Подключаемые модули', откройте вкладку 'Доступные подключаемые модули' и установите Bundled Subversion Client для Windows.

Настройка Subversion

Прежде чем использовать все преимущества поддержки Subversion в среде IDE, необходимо установить клиентское программное обеспечение Subversion. Поддержка Subversion в среде IDE работает путем взаимодействия с клиентом ПО Subversion для выполнения команд контроля версий. В зависимости от системы и пути установки клиентского ПО Subversion, отличающегося от пути по умолчанию, может понадобиться зарегистрировать в среде IDE путь к исполнимому файлу Subversion. Наконец, необходимо убедиться в наличии репозитория Subversion, к которому будет производиться подключение.

Получение программного обеспечения

Необходимо убедиться, что на компьютере установлено следующее программное обеспечение:

Укажите путь к исполнимому файлу Subversion.

IDE NetBeans автоматически выполняет попытку определить местоположение исполняемого файла Subversion с помощью системной переменной $PATH на компьютере пользователя. Однако, в зависимости от платформы и пути установки клиентского ПО Subversion, отличающегося от пути по умолчанию, может понадобиться указать путь к исполнимому файлу Subversion явным образом.

По умолчанию исполняемый файл Subversion установлен в папке /usr/bin или /usr/local/bin/ на UNIX и OS X компьютера, а также в папке C:\Program Files\Subversion\bin\ (или C:\Program Files\CollabNet Subversion\bin\) в Windows.

На компьютерах под управлением *nix местоположение исполнимого файла Subversion можно определить, введя строку which svn в окно терминала. На компьютерах под управлением Windows можно запустить поиск файла svn.exe по всей системе.

Чтобы указать путь к исполнимому файлу в среде IDE, выполните следующие действия:

  1. Выберите 'Сервис' > 'Параметры' ('NetBeans'> 'Предпочтения' в OS X) в главном меню. Откроется диалоговое окно Options ("Параметры").
  2. Выберите значок Miscellaneous ("Разное") наверху диалогового окна, затем щелкните вкладку Versioning ("Управление версии"). В левой панели под заголовком Versioning Systems ("Системы контроля версий") выберите Subversion. Параметры пользователя Subversion отображаются в главном окне диалога:

    Диалоговое окно 'Параметры Subversion' с параметрами, определенными пользователями

  3. В текстовом поле Specify the SVN Home Folder ("Указать домашний каталог SVN") следует либо ввести путь к исполнимому файлу, либо нажать кнопку "Обзор" и найти этот путь в системе. Заметим, что нет нужды включать в строку пути исполнимый файл Subversion.
  4. Нажмите кнопку "ОК" и перезапустите среду IDE, чтобы изменения вступили в силу.

Проверка наличия репозитория для подключения

Прежде чем запускать Subversion из среды IDE, необходимо проверить наличие доступа к репозиторию Subversion. Среда IDE не предоставляет средства создания репозиториев Subversion, поскольку эта функция редко используется (в производственной среде репозиторий создается только раз, после того как определится проект размещения репозитория). более того, в этой функции необходимы команды администрирования.

Чтобы поэкспериментировать с поддержкой IDE, используя локальный репозиторий, можно его создать, используя средство svnadmin, которое включено в клиентское программное обеспечение Subversion.

Чтобы создать репозиторий Subversion, используется команда svnadmin create. В командной строке введите следующее:

svnadmin create /path/to/your/repository

Дополнительную информацию можно получить в главе http://svnbook.red-bean.com/en/1.1/ch05s02.html.

В начало

Синхронизация локальных файлов с репозиторием

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

Открытие проекта Subversion в среде IDE

Если под контролем Subversion уже имеется проект, с которым ведется работа вне среды IDE, можно открыть его в IDE, и функции контроля версий станут для него доступны автоматически. Среда IDE проверяет открытые проекты на наличие каталогов .svn, и для версий проектов в Subversion состояния файлов и контекстно-зависимая поддержка автоматически становятся активными.

Получение файлов из репозитория

Если необходимо подключиться к удаленному репозиторию из среды IDE, получить файлы и начать работу с ними, выполните следующее.

  1. В IDE NetBeans в главном меню выберите 'Группа' > 'Subversion' > 'Извлечь'. Откроется мастер взятия для изменения.

    Примечание. Раскрывающееся меню IDE являются контекстно-зависимыми, то есть доступные параметры зависят от текущего выбранного элемента. Таким образом, во время работы с проектом в Subversion можно выбрать элемент Versioning ("Контроль версий") > Checkout ("Извлечь") в главном меню.
  2. На первой панели мастера введите URL-адрес, который содержит протокол подключения и путь к репозиторию, к которому необходимо подключиться.

    В среде IDE поддерживаются следующие типы протоколов:

    Протокол Метод доступа Пример
    файл Прямой доступ к репозиторию (на локальном диске) file:///путь_к_репозиторию
    http Доступ к серверу с поддержкой Subversion через протокол WebDAV. http://имя_узла/путь_к_репозиторию
    https Доступ через протокол HTTP с поддержкой шифрования SSL https://имя_узла/путь_к_репозиторию
    svn Доступ через особый протокол к серверу svnserve. svn://имя_узла/путь_к_репозиторию
    svn+ssh Доступ через протокол SVN с использованием внешнего туннеля SSH svn+ssh://имя_узла/путь_к_репозиторию

    В зависимости от используемого протокола может понадобиться ввести информацию, как, например, имя пользователя или пароль (для http://, https:// или svn://), а в случае svn+ssh:// необходимо указать команду для установления внешнего туннеля.

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

    Дополнительные сведения с svn+ssh см. в разделе Настройка SSH с использованием Subversion?
  3. При использовании прокси необходимо нажать кнопку Proxy Configuration ("Настройка прокси-сервера") и ввести всю необходимую информацию. Если вы не уверены в правильности параметров подключения к репозиторию, нажмите кнопку "Далее".
  4. В поле Repository Folder(s) ("Каталог (-и) репозитория") панели Folders to Checkout ("Каталоги для извлечения") мастера настройте каталог, который необходимо взять для изменения. Если имя каталога, который необходимо взять для изменения, неизвестно, нажмите кнопку Browse ("Обзор"), чтобы просмотреть каталоги, которые хранятся в репозитории. В диалоговом окне Browse Repository Folders ("Обзор каталогов репозитория") выберите любой из перечисленных каталогов и нажмите кнопку "ОК". Выбранный каталог потом добавляется в поле Repository Folder(s) ('Каталог (-и) репозитория') (каталог 'MyProject&' на снимке экрана ниже).

    Мастер возврата Subversion после изменения: папки на панель возврата после изменений

  5. Введите номер редакции в поле "Редакция репозитория" или оставьте его пустым, что приведет к взятию для изменения каталога HEAD или более поздних редакций.
  6. В поле Local Folder ("Локальный каталог") введите путь к каталогу на компьютере, куда необходимо извлечь файлы. Оставьте установленным флажок "Поиск проектов Netbeans после выгрузки", затем нажмите "Готово", чтобы инициировать действие взятия. Среда IDE берёт указанные исходные коды для изменения, а в строке состояния IDE отображается ход выполнения загрузки файлов из репозитория в локальный рабочий каталог. Также можно просмотреть файлы и их изъятие в окне 'Выходные данные' (Ctrl-4 в Windows/Cmd-4 в OS X).

    Примечание. Если изъятые для использования источники содержат проекты NetBeans, отображается диалоговое окно с запросом на открытие их в IDE. Если в исходных файлах отсутствует проект, появится диалоговое окно с запросом на создание нового проекта из исходных файлов и их открытие в среде IDE. Чтобы создать проект из этих файлов, выберите соответствующую категорию проекта (в мастере создания проекта), затем используйте для нее пункт "С существующими исходными кодами".

Импорт файлов в репозиторий

В качестве альтернативы можно импортировать проект, с котором вы работаете в среде IDE, в удаленный репозиторий, а затем продолжить с ним работу в среде IDE после его синхронизации.

Примечание. При непосредственном экспорте файлов из используемой системы термин 'импорт' используется в системах управления версиями для указания того, что файлы импортируются в репозиторий.

Чтобы импортировать проект в репозиторий, выполните следующее.

  1. В окне 'Проекты' (Ctrl-1 в Windows/Cmd-1 в OS X) выберите проект, для которого не осуществляется управление версиями, и выберите 'Управление версиями' > 'Импорт в репозиторий Subversion' в меню правой кнопки мыши этого узла. Открывается мастер импорта в Subversion.
  2. В панели "Репозиторий Subversion" мастера импорта укажите протокол и путь к репозиторию Subversion, как определено в URL-адресе Subversion. В зависимости от сделанного выбора может понадобиться указать такие параметры, как имя пользователя и пароль для репозитория, или, в случае svn+ssh://, команду для установления внешнего туннеля. Дополнительные сведения см. в разделе Часто задаваемые вопросы пользователей по Subversion. Нажмите кнопку "Далее".
  3. В панели "Каталог репозитория" укажите каталог репозитория, в котором будет находиться проект. По умолчанию в текстовом поле "Каталог репозитория" предлагается каталог с названием, совпадающим с названием проекта.
  4. В текстовом поле под заголовком "Укажите сообщение" введите описание проекта, который импортируется в репозиторий.
  5. Нажмите кнопку "Завершить" для запуска импорта или кнопку "Далее" для перехода на третью панель, которая позволяет просматривать все файлы, приготовленные для импорта. В этой панели можно исключить из импорта отдельные файлы (как показано ниже) или определить типы MIME файлов перед импортом.

    Мастер импорта Subversion: панель импортируемых файлов

    После нажатия кнопки "Завершить" среда IDE выгружает в репозиторий файлы проекта, и открывается окно вывода, в котором отображается ход импорта.

В начало

Изменение файлов исходного кода

Если версия проекта Subversion открыта в среде IDE, можно начать вносить изменения в исходные файлы. Как и в любом проекте, открытом в IDE NetBeans, в редакторе исходного кода можно открывать файлы двойным щелчком на соответствующих узлах по мере их отображения в IDE (например, 'Проекты' (Ctrl-1 в Windows/Cmd-1 в OS X ), 'Файлы'(Ctrl-2 в Windows/Cmd-2 в OS X), 'Избранное' (Ctrl-3 в Windows/Cmd-3 в OS X)).

При работе с файлами исходного кода в среде IDE можно пользоваться различными компонентами пользовательского интерфейса, помогающими как в просмотре, так и в работе с командами контроля версий:

Просмотр изменений в редакторе исходного кода

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

Синий (       ) Обозначает строки, измененные по сравнению с более ранней версией.
Зеленый (       ) Обозначает строки, добавленные к более ранней версии.
Красный (       ) Обозначает строки, удаленные по сравнению с более ранней версией.

В левом поле редактора исходного кода отображаются изменения для каждой отдельной строки. При изменении определенной строки изменения немедленно показываются в левом поле.

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

На правом поле редактора исходного кода предоставлен обзор изменений, внесенных в файл в целом, сверху донизу. Условные цвета применяются сразу после внесения изменений в файл.

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

Цветовая кодировка управления версиями отображается на левой границе редактора
Левое поле
Цветовая кодировка управления версиями отображается на правой границе редактора
Правое поле

Просмотр информации о состоянии файла

При работе в окнах "Проекты" (CTRL+1 в системе Windows/CMD+1 в системе OS X), "Файлы" (CTRL+2 в системе Windows/CMD+2 в системе OS X), "Избранное" (CTRL+3 в системе Windows/CMD+3 в системе OS X) или окнах управления версиями некоторые функции отображения среды IDE помогают просматривать информацию о состоянии файла. В примере, приведенном ниже, обратите внимание, как метка (например, Синяя метка), цвет имени файла и смежная метка состояния соответствуют друг другу для предоставления для пользователей простого и эффективного способа отслеживания данных об изменениях версий файлов:

Синяя метка отображается в окне 'Избранное'

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

Метки и условные цвета

Метки относятся к узлам проектов, папок и пакетов. Они сообщают о состоянии файлов внутри соответствующего узла:

Ниже в таблице приведена цветовая схема, используемая для меток.

Элемент пользовательского интерфейса Описание
Синяя метка (Синяя метка) Указывает на присутствие файлов, которые были локально изменены, добавлены или удалены. Касательно пакетов, данная метка относится только к самому пакету, но не к его подпакетам. Что касается проектов и папок, метка указывает на изменения как внутри самого элемента, так и внутри любых его подпапок.
Красная метка (Красная метка) Используется для проектов, папок и пакетов, содержащих конфликтующие файлы (например, локальные версии, конфликтующие с версиями, хранящимися в репозитории). Касательно пакетов, данная метка относится только к самому пакету, но не к его подпакетам. Для проектов и папок метка обозначает конфликты этого элемента и всех содержащихся подпапок.


Цветовое обозначение применяется к именам файлов для обозначения их текущего состояния по сравнению с репозиторием:

Цвет Пример Описание
Синий Текст, выделенный синим Обозначает локально измененный файл.
Зеленый Текст, выделенный зеленым Обозначает локально добавленный файл.
Красный Текст, выделенный красным Обозначает, что файл содержит конфликт между локальной рабочей копией и версией в репозитории.
Серый Текст, выделенный серым Указывает но то, что файл пропущен системой Subversion и не будет обработан командами контроля версий (такими как "Update" (Обновить) и "Commit" (Зафиксировать)). Файлы можно сделать игнорируемыми, только если они еще не добавлены под контроль версий.
Перечеркивание Перечеркнутый текст Указывает на то, что файл исключен из операций фиксации. Перечеркнутый текст отображается только в некоторых местах, например, окно "Контроль версий" или диалоговое окно "Фиксация", при исключении отдельных файлов из действия фиксации. Такие файлы всё еще могут быть затронуты командами Subversion, такими как "Update" (Обновить).

Ярлыки состояния файлов

Ярлыки состояния файлов предоставляют в окнах среды IDE текстовое указание на состояние файлов, включенных в управление версиями. По умолчанию в окнах среды IDE состояние (новый, измененный, игнорируется и т.п.) и информация о папке отображаются в сером цвете справа от файлов, представленных в виде списка. Однако этот формат можно изменить под свои потребности. Например, для добавления номеров редакций к ярлыкам состояния выполните следующее.

  1. Выберите 'Сервис' > 'Параметры' ('NetBeans'> 'Предпочтения' на OS X) в главном меню. Откроется окно "Options".
  2. Выберите кнопку Miscellaneous ("Разное") наверху диалогового окна, затем щелкните вкладку Versioning ("Контроль версий") под ним. Убедитесь, что в левой панели под системами управления версиями выбрана система Subversion. (Для справки см. снимок экрана выше).
  3. Нажмите кнопку Add Variable ("Добавить переменную") справа от текстового поля строки состояния Format ("Формат"). В открывшемся диалоговом окне" Добавление переменной" выберите переменную{revision} и нажмите "ОК". Переменная revision добавляется в текстовое поле "Формат ярлыка состояния".
  4. Переформатировать метки состояний так, чтобы справа от файлов отображались только их состояние и редакция, можно, изменив порядок следования содержимое текстового поля "Формат меток состояний" на следующий:
    [{status}; {revision}]
    Нажмите кнопку "ОК". Ярлыки состояния теперь показывают состояние файла и номер редакции (где это применимо).
    Метки файлов, отображаемые рядом с именами файлов

Ярлыки состояния файлов можно включать и отключать. Для этого в главном меню выберите "Вид" > "Показать ярлыки контроля версий".

Окно контроля версий

Окно контроля версий в Subversion предоставляет в реальном времени список всех изменений, произведенных с файлами локальной рабочей копии выбранной папки. По умолчанию оно открывается в нижней панели среды IDE, и в нем перечислены добавленные, удаленные и измененные файлы.

Чтобы открыть окно контроля версий, выберите версию файла или каталога (например, из окна "Проекты", "Файлы" или "Избранное") и либо выберите "Subversion" > "Показать изменения" из контекстного меню, либо "Группа" > "Показать изменения" из главного меню. В нижней панели среды IDE откроется следующее окно:

Окно 'Управление версиями', отображающее локально новые файлы

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

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

Значок Имя Функция
значок 'Обновить состояние' Refresh Status ("Обновить состояние") Обновление состояния всех выбранных файлов и папок. Файлы, отображаемые в окне контроля версий, можно обновить для отражения любых изменений, внесенных извне.
Значок 'Сравнить все' Diff All ("Сравнить все") Открытие представления различий, предоставляющее параллельное сравнение локальных копий и версий в репозитории.
значок 'Обновить все' Update All ("Обновить все") Обновление всех выбранных файлов в репозитории.
Значок 'Фиксировать все' Фиксировать все Позволяет фиксировать локальные изменения в репозитории.

Для доступа к другим командам Subversion в окне контроля версий необходимо выбрать строку таблицы, соответствующую измененному файлу, а затем выбрать команду в контекстом меню:

Контекстное меню отображается для выбранного файла в окне 'Управление версиями'

Для примера, с файлом можно выполнить следующие действия:

  • Показать аннотации:

    Сведения об авторе и номере редакции в левом поле файлов, открытых в редакторе исходных файлов.
Аннотации отображаются на левой границе в редакторе исходного кода
  • Поиск в журнале:

    Позволяет искать и сравнивать ранние редакции выбранного файла в окне просмотра журнала в среде IDE. Из окна просмотра журнала можно вызвать команду сравнения или вернуть текущую локальную копию в состояние выбранной редакции.
'Средство просмотра хронологии Subversion', в котором отображаются множественные редакции файла
  • Исключить из фиксации:

    Позволяет исключить файл из процесса фиксации.
Файлы помечены как исключенные в диалоговом окне 'Фиксация'
  • Откатить удаление

    Открывает диалоговое окно "Откатить изменения", при помощи которого можно откатывать любые действия по удалению локальных копий файлов. Указанные файлы извлекаются из локального архива журнала и восстанавливаются в локальную рабочую копию.
Диалоговое окно 'Откат изменений'
  • Откатить изменения:

    Открывает диалоговое окно "Откатить изменения", при помощи которого можно указать параметры отката любых локальных изменений для редакций, которые хранятся в репозитории.

    При указании редакций можно нажать кнопку "Поиск", чтобы открыть диалоговое окно "Поиск редакции". Произойдет поиск по репозиторию и вывод редакций в зависимости от введенной даты.
В диалоговом окне 'Поиск редакций' приведен редакций списков по датам

Сравнение редакций файлов

Сравнение редакций файлов — это распространенная задача при работу с проектами с контролем версий. Среда IDE позволяет сравнивать редакции, используя команду Diff, доступную в контекстном меню выбранного элемента (Subversion > Diff), а также в окне контроля версий. В окне 'Управление версиями', вы можете выполнить сравнение либо двойным щелчком указанного файла, либо щелкнув значок 'Сравнить все' (Значок 'Сравнить все'), расположенный на панели инструментов в верхней части.

При выполнении сравнения откроется средство просмотра различий для выбранного файла(-в) и редакций в главном окне IDE. В средстве просмотра различий отображаются две копии на параллельных панелях. Текущая копия отображается в правой части, поэтому при сравнении копии в репозитории с рабочей копией последняя отображается на правой панели:

Средство просмотра различий Subversion

В просмотре различий используются те же условные цвета, что используются и в других местах для показа изменений под контролем версий. На снимке экрана выше зеленый блок обозначает содержание, добавленное к последней редакции. Красный блок указывает, что содержание из ранней редакции было позднее удалено. Синий указывает, что в выделенных строках произошли изменения.

Также при выполнении сравнения в группе файлов, таких, как проект, пакет или папка, или при щелчке 'Сравнить все' (Значок 'Сравнить все'), вы можете переключаться между различиями с помощью щелчков файлов, перечисленных в верхней области 'Средства просмотра различий'.

Средство просмотра различий также предоставляет следующие функции:

Внесение изменений в локальную рабочую копию

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

Заменить (Значок 'Заменить'): Вставка выделенного текста из предыдущей редакции в текущую редакцию
Переместить все (Значок 'Переместить все'): Откат текущей редакции файла к состоянию предыдущей выбранной редакции
Удалить (Значок 'Удалить'): Удаление выделенного текста из текущей редакции для зеркального соответствия предыдущей редакции

Переходы между различиями в сравниваемых файлах

Если сравнение содержит несколько изменений, между ними можно переходить, используя значки стрелок, отображающиеся на панели инструментов. Значки стрелок позволяют просматривать появляющиеся различия сверху донизу:

Предыдущий (Кнопка 'Предыдущее отличие'): переход к предыдущему различию, отображенному в сравнении.
Далее (Кнопка 'Следующее отличие'): переход к следующему различию, отображенному в сравнении.

Изменение критериев просмотра

Можно выбрать просмотр файлов, содержащих изменения, из локальной рабочей копии, репозитория, или одновременно просмотреть оба файла одновременно:

Локальный ( Значок 'Локально измененные' ): Отображение только локально измененных файлов
Удаленный ( Значок 'Удаленно измененные' ): Отображение только удаленно измененных файлов
Оба ( Значок 'Локально и удаленно измененные' ): Отображение локально и удаленно измененных файлов

Слияние редакций файлов

IDE NetBeans обеспечивает возможность слияния изменений между версиями репозитория и локальной рабочей копии. Можно указать диапазон редакций для слияния. Можно даже объединять диапазон редакций из двух разных каталогов репозитория.

Обычно используется следующая схема работы: имеется взятая из головной ветви версия, сохраненная в папке под именем JavaApp, и требуется произвести слияние этой копии с ветвью. В целях демонстрации репозиторий содержит каталог branches, в котором находятся все ответвленные файлы:

  1. В окне 'Проекты', 'Файлы' или 'Избранное' правой кнопкой мыши щелкните файлы или папки, для которых необходимо выполнить операцию слияния, и выберите 'Subversion' > 'Объединить изменения'. Появляется диалоговое окно Merge ("Слияние").
  2. В раскрывающемся списке Merge From ("Слить из") выберите One Repository Folder Since Its Origin ("Одна папка репозитория после создания"). Переносятся все изменения, которые были сделаны в отдельном файле после его создания.
  3. В текстовом поле папки репозитория введите путь к папке, из которой необходимо перенести изменения (branches/JavaApp). Оставьте поле "Конечная редакция" пустым, чтобы включить все редакции от первой до HEAD (то есть текущего состояния).

    Диалоговое окно "Слияние Subversion"

  4. Щелкните "Слить". Среда IDE объединит все различия, которые будут найдены между редакциями ветви и локальной копией файла. При возникновении конфликтов слияния устанавливается состояние файла Конфликт слияния для указания на это.

Примечание. После слияния изменений с локальной рабочей копией, все равно необходимо зафиксировать изменения, используя команду Commit для того, чтобы они были добавлены в репозиторий.

В начало

Фиксация исходных файлов в репозитории

После внесения изменений в исходные файла необходимо выполнить их фиксацию в репозитории. Как правило, рекомендуется обновить все копии в соответствии с репозиторием до выполнения фиксации, чтобы обеспечить отсутствие конфликтов. Однако конфликты все равно могут возникать и должны считаться обычным явлением при одновременной работе с проектом множества разработчиков. Среда IDE предоставляет гибкую поддержку, позволяющую выполнять все эти функции. Она также предоставляет компонент разрешения конфликтов, позволяющий корректно устранять конфликты при их возникновении.

Обновление локальных копий

Обновление выполняются путем выбора 'Subversion' > 'Обновить' из контекстного меню любого элемента, для которого осуществляется управление версиями, в окнах 'Проекты', 'Файлы' или 'Избранное'. При работе напрямую из окна 'Управление версиями' нужно просто щелкнуть правой кнопкой мыши указанный файл и выбрать 'Обновить'.

Чтобы выполнить обновление на измененных источниках, можно нажать кнопку 'Обновить все' (Значок 'Обновить все'), которая отображается в панели инструментов, расположенной в верхней части и Окно управления версиями, и Средство просмотра различий. Все изменения, которые могли быть внесены в репозитории, отображаются в окне "Вывод версий".

Разрешение конфликтов

При обновлении или фиксировании файлов средства поддержки Subversion сравнивают файлы с исходными файлами из репозитория, чтобы убедиться, что те же файлы уже не изменены ранее. Если извлеченная (или обновленная) редакция больше не совпадает с HEAD репозитория (т.е. с текущей версией), и области кода, которые изменялись в локальной копии, совпадают с областями в HEAD, которые также изменены, обновление или фиксирование приводят к конфликтам.

Как указано в Метки и цветовая схема, конфликты выделяются в среде IDE красным текстом и рядом с ними отображается красный значок (Красная метка) при просмотре в окнах 'Проекты', 'Файлы', или 'Избранное'. В окне "Контроль версий" конфликты отмечены состоянием файлов.

Конфликт файлов, отображаемый в окне 'Управление версиями'

Любой возникший конфликт необходимо разрешить, прежде чем выполнять фиксацию в репозиторий. В среде IDE конфликты можно разрешить с помощью средства разрешения конфликтов слияния. Средство разрешения конфликтов слияния предлагает интуитивно понятный интерфейс, помогающий последовательно разрешать отдельные конфликты во время просмотра результатов слияния. Для получения доступа к средству разрешения конфликтов слияния в конфликтующем файле щелкните правой кнопкой мыши этот файл и выберите 'Subversion' > 'Разрешить конфликты'.

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

'Средство разрешения конфликтов', в котором конфликтующий файл

Для разрешения конфликта примите одну из двух редакций, которые отображаются на верхней панели. В редакции, которую необходимо принять нажмите кнопку "Принять". Среда IDE сливает принятую редакцию с исходным файлом, и результаты слияния мгновенно отображаются на нижней панели разрешителя конфликтов слияния. Когда все конфликты будут разрешены, нажмите "ОК" для выхода из средства разрешения конфликтов слияния и сохранения измененного файла. Метка конфликта будет удалена, и файл можно будет фиксировать в репозитории.

Выполнение фиксации

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

  • В окне 'Проекты', 'Файлы' или 'Избранное' правой кнопкой мыши щелкните новые или измененные элементы и выберите 'Subversion' > 'Фиксация'.
  • В окне 'Управление версиями' или 'Средства просмотра различий' нажмите кнопку 'Фиксировать все' (Значок 'Фиксировать все') на панели инструментов.

Откроется диалоговое окно "Фиксация", в котором отображаются файлы для фиксации в репозитории:

В диалоговом окне 'Фиксировать' отображаются файлы, которые будут зафиксированы

В диалоговом окне "Фиксация" перечислено следующее:

  • все локально измененные файлы;
  • все файлы, которые были локально удалены;
  • все новые файлы (то есть, файлы, которых пока нет в репозитории);
  • все файлы, которые были переименованы. Для хранения переименованных файлов в Subversion удаляются исходные файлы и создаются дубликаты с новым именем.

В диалоговом окне "Фиксация" можно указать исключение отдельных файлов из фиксации. Для этого щелкните столбец "Действие фиксации" для выбранного файла и выберите пункт "Исключить из фиксации" в раскрывающемся списке. Аналогично, при включении новых файлов можно указать тип MIME, выбрав "Добавить как исходный файл" или "Добавить как текст" в раскрывающемся списке.

Для фиксации выполните следующее.

  1. Введите сообщение о фиксации в текстовой области "Сообщение о фиксации". В качестве альтернативы щелкните значок 'Последние сообщения' ( Значок 'Последние сообщения' ), расположенный в правом верхнем углу, чтобы просмотреть и выбрать необходимое из ранее использованного списка сообщений.
  2. После указания действий для отдельных файлов щелкните "Фиксация". Среда IDE выполнит фиксацию и отправит локальные изменения в репозиторий. В строке состояния IDE, расположенной в правой нижней части интерфейса, отображается выполнение действия фиксации. При успешной фиксации метки контроля версий перестают отображаться в окнах "Проекты", "Файлы" и "Избранное", а для цветового обозначения фиксированных файлов используется черный цвет.

В начало

Заключение

На этом завершается обзор возможностей Subversion для IDE NetBeans версии 6.x и более поздних версий. В данном документе описано выполнение основных задач контроля версий в среде IDE на примере стандартного порядка действий при использовании поддержки Subversion в среде IDE. В руководстве показано, как настраивать версию проекта и выполнять основные задачи для файлов под контролем версий с помощью некоторых новых функции Subversion в среде IDE.


В начало

Дополнительные сведения

Материалы на связанные темы:

В начало

get support for the NetBeans

Support


By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2013, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo