Глава 8. Работа с системами управления версиями

При работе над крупными проектами для кода обычно используется система управления версиями (например, subversion или git). Дальнейшее описание основывается на subversion, но оно справедливо и для git или любой другой поддерживаемой системы управления версиями.

Во-первых, если каталог, в котором расположен проект, находится под управлением такой системы, программа KDevelop автоматически определит это. Другими словами: при настройке проекта не требуется указывать KDevelop, что необходимо получить код из репозитория; достаточно указать программе тот каталог, в котором хранится ранее полученная копия кода. Если такой каталог имеется, откройте панель Проекты:

  • Если данные в каталоге устарели, их можно обновить из репозитория: щёлкните по названию проекта правой кнопкой мыши, перейдите в меню Subversion и выберите пункт Обновить. Все относящиеся к этому проекту файлы будут обновлены.

  • Если при обновлении нужно ограничиться отдельными подкаталогами или файлами, разверните дерево проекта до нужного уровня и щёлкните по подкаталогу или файлу правой кнопкой мыши, а затем повторите приведённые выше действия.

  • Если в один или несколько файлов были внесены изменения, разверните дерево проекта до каталога с этими файлами и щёлкните по нему правой кнопкой мыши. В появившемся контекстном меню будет доступен пункт Subversion, который содержит различные варианты действий. Выберите среди них Сравнить с base для просмотра различий между изменённой версией файла и той его версией, которая ранее была получена из репозитория (версия «base»). В результате будут показаны различия («diff») для всех файлов в этом каталоге.

  • Если был изменён только один файл, для него также можно вызвать меню Subversion: просто щёлкните правой кнопкой мыши по соответствующему файлу в представлении проекта. Ещё проще: щёлкните правой кнопкой мыши в представлении Редактор, где открыт этот файл.

  • Если требуется отправить в репозиторий один или несколько изменённых файлов, щёлкните правой кнопкой мыши по отдельному файлу, по подкаталогу или по всему проекту и выберите в контекстном меню пункт SubversionЗафиксировать. После выбора этого пункта среда будет переведена в режим Рецензирование, третий режим, пункт которого находится рядом с пунктами режимов Код и Отладка в правом верхнем углу главного окна KDevelop. На изображении справа показано окно в этом режиме. В режимеРецензирование в верхней части окна показаны различия в файлах всего подкаталога или проекта, все изменённые файлы с различиями обозначаются цветом (см. различные вкладки в этой части окна). По умолчанию все изменённые файлы будут добавлены в набор изменений, который будет передан в репозиторий, но можно отменить выбор некоторых файлов, если внесённые в них изменения не относятся к тем изменениям, которые следует отправить. В рассматриваемом примере не будут отправлены step-32.cc и step-32.prm; поскольку изменения в этих файлах не связаны с другими изменениями в проекте, в этот раз они не будут отправлены в хранилище (их можно будет отправить позже отдельной фиксацией). После просмотра изменений можно ввести сообщение фиксации в поле ввода текста и нажать кнопку Фиксировать, расположенную справа, чтобы отправить изменения в репозиторий.

  • Как и в случае просмотра различий, если нужно отправить один файл, можно просто щёлкнуть правой кнопкой мыши в представлении редактора и выбрать в контекстном меню пункт SubversionЗафиксировать.