Илья Рыженков - Управление исходными текстами. Часть 1. Краткое руководство по CVS

Здесь есть возможность читать онлайн «Илья Рыженков - Управление исходными текстами. Часть 1. Краткое руководство по CVS» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Издательство: The RSDN Group, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Управление исходными текстами. Часть 1. Краткое руководство по CVS: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Управление исходными текстами. Часть 1. Краткое руководство по CVS»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Управление исходными текстами. Часть 1. Краткое руководство по CVS — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Управление исходными текстами. Часть 1. Краткое руководство по CVS», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

RCS file: d:\temp\rep/test/test.c,v

retrieving revision 1.1

retrieving revision 1.2

Merging differences between 1.1 and 1.2 into test.c

M test.c

Буква «М» перед именем файла указывает, что файл был изменен локально, и операция commit еще не проводилась. Иными словами, в рабочем каталоге присутствуют изменения, которых нет в репозитории.

WINCVSАлгоритм, реализующий данную функциональность, довольно сложен, и описание его выходит за рамки этой статьи. Интересующиеся могут поискать информацию по ключевым словам CVS, RCS, diff3, merge.

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

WINCVSОбновление рабочего каталога происходит по команде Update selection…из меню Modify. Обновляется каталог или выбранные файлы, в зависимости от того, что выделено.

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

Конфликт может возникнуть при совмещении двух изменений, если они пересекаются или расположены слишком близко друг к другу. Поскольку совмещение (merge) возникает при изменении текста и в репозитории, и в рабочем каталоге, вы не получите конфликта, если не меняете файлов локально (например, просто скачиваете обновления из общедоступного репозитория в Интернете). Вы также не получите конфликта, если никто кроме вас не производит обновления репозитория, например, при использовании CVS лично для себя в домашних условиях. Если же вы работаете в команде, которая активно развивает исходный текст - рано или поздно конфликт неизбежен.

При возникновении конфликта вывод CVS выглядит аналогично нижеследующему.

cvs update: Updating.

RCS file: d:\temp\rep/test/test.c,v

retrieving revision 1.1

retrieving revision 1.2

Merging differences between 1.1 and 1.2 into test.c

rcsmerge: warning: conflicts during merge

cvs update: conflicts found in test.c

C test.c

Буква C помечает файл, в котором был обнаружен конфликт. При указании ключа -q или -Q сообщений о конфликтах будет меньше, но сути это не меняет.

WINCVSCVS разработан так, чтобы никогда не терять изменений. Поэтому во многих случаях он сохраняет резервные копии в файлах с именами начинающимися с «.#» (точка, решётка). В общем случае имя файла выглядит так: «.#исходное-имя-файла.номер.редакции», например «.#test.c.1.1». Например, эти файлы сохранят измененные версии на случай ошибочного разрешения конфликта.

Внутри файла, в котором обнаружен конфликт, проблемные участки текста будут заключены в своеобразные скобки:

‹‹‹‹‹‹‹

зона конфликта

›››››››

Внутри зоны конфликта также будет находиться разделитель «========», который отделяет ваше изменение от проблемного, полученного из репозитория. Полностью маркировка конфликта выглядит так:

‹‹‹‹‹‹‹

имя-файла локальное (Ваше) изменение

=======

редакция из репозитория

››››››› номер редакции в репозитории

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

ПРЕДУПРЕЖДЕНИЕCVS считает, что если время модификации файла (modification time) изменилось с момента обнаружения конфликта, то проблема решена и файл готов к отправке в репозиторий. Поэтому сначала рекомендуется просмотреть все конфликты в файле (их может быть несколько) используя, например, поиск строки “‹‹‹”, понять, как они должны быть решены, и уже потом «одним движением» внести все правки. Если же вы исправите не все конфликты и сохраните файл, а затем выполните операцию commit, в репозитории окажется файл с маркировкой конфликта внутри, и проблемы практически неизбежны. CVS сообщит о таких случаях предупреждением «warning: file `имя-файла' seems to still contain conflict indicators», но версию в репозиторий всё же отправит, поскольку не может быть уверен в своих догадках.

Пример конфликта в исходном тексте на C++

void clear_string(char *p) {

*p=0; // здесь обнаружена ошибка - не было проверки на NULL

}

Ошибку обнаружили двое программистов независимо и, поскольку изменение простейшее, решили тут же её и поправить. Один сделал так:

void clear_string(char *p) {

if (p) *p=0;

}

А другой так:

void clear_string(char *p) {

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Управление исходными текстами. Часть 1. Краткое руководство по CVS»

Представляем Вашему вниманию похожие книги на «Управление исходными текстами. Часть 1. Краткое руководство по CVS» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Главное военно-инжнерное управление Красной Армии - Краткое описание противотанковой мины ЯМ-5
Главное военно-инжнерное управление Красной Армии
Отзывы о книге «Управление исходными текстами. Часть 1. Краткое руководство по CVS»

Обсуждение, отзывы о книге «Управление исходными текстами. Часть 1. Краткое руководство по CVS» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x