
|
|
Лабораторная работа №3Дата публикации: 27.11.2016 19:37
Лабораторная работа №3
Работа со слиянием изменений в системе контроля версий Mercurial.
Создать несколько веток. В разных ветках проекта внести изменения таким образом, чтобы создать конфликтную ситуацию при слиянии (в разных ветках в файле с одинаковым именем с разным содержимым). Слить 2 ветки, разрешив конфликты вручную используя KDiff3. Написать отчет: титульный лист, тема работы, задание, ход выполнения работы со скриншотами, выводы.
Слияние — это основная часть работы с инструментами распределённого контроля версий. Вот несколько случаев, когда возникает необходимость объединить работу: - несколько пользователей имеют собственные репозитории проекта, над которым они вместе работают. Один пофиксил ошибку в своем репозитории, а другой добавил новые изменения в своём. Они хотят чтобы общий репозиторий содержал и багфикс и новые изменения. - пользователь часто работает в одном проекте одновременно над несколькими разными задачами, каждая из которых изолирована в собственном репозитории. Работая таким образом, приходится частенько производить слияние одной части работы с другой. Склеивание веток (hg merge)
Использование графического инструмента слияния Один из графических инструментов слияния это kdiff3, ниже показан снимок экрана kdiff3 в работе. Выполняемое таким образом слияние называется тройственным (three-way), потому что есть три различные версии файла. В инструменте сравнения верхняя часть окна поделена на три панели: - слева базовая версия файла, т.е. самая последняя версия, после которой произошло разделение на те две версии, которые мы пытаемся объединить. - посередине «наша» версия файла, содержащая наши изменения. - справа «их» версия файла, то есть версия из ревизии, с которой мы производим слияние. На панели снизу располагается текущий результат слияния. Задача — заменить весь красный текст, означающий неразрешенные конфликты, на осмысленный результат слияния «нашей» и «их» версий файла. Все четыре панели связаны друг с другом. Если мы начнем прокручивать любую из них по вертикали или по горизонтали, остальные панели последуют за нами и будут показывать соответствующие части файлов.
На рисунке показано 2 ветки, которые имеют содержат файл ngskfbg.txt с одинаковым именем и разным содержимым
Ниже мы видим окно слияния двух веток, в котором отображена информация о каждом из файлов, который сливаются и внесенные изменения.
При успешном выполнении слияния перед нами появится окно с предложением сразу же закомитить изменения и окно с результатами слияния. При возникновении конфликтов во время слияния их можно решить автоматически или вручную с помощью KDiff3.
https://www.youtube.com/watch?v=CxtQHcX_MTY http://habrahabr.ru/post/109203/ http://mercurial.selenic.com/wiki/RussianTutorialConflict
|