Написание контрольных, курсовых, дипломных работ, выполнение задач, тестов, бизнес-планов
Главная \ Методичні вказівки \ Методические указания и информация

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

Лабораторная работа №3

  1. 1.     Тема

Работа со слиянием изменений в системе контроля версий Mercurial.

 

  1. 2.     Задание

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

Слить 2 ветки, разрешив конфликты вручную используя KDiff3.

Написать отчет: титульный лист, тема работы, задание, ход выполнения работы со скриншотами, выводы.

 

  1. 3.     Теоретические материалы

Слияние — это основная часть работы с инструментами распределённого контроля версий. Вот несколько случаев, когда возникает необходимость объединить работу:

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

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

Склеивание веток (hg merge)

  1. Нужно переключиться на ветку, в которую нужно влить. Например, $ hg update default
  2. Вливаем в нее требуемую ветку: $ hg merge имяветки
  3. Если есть конфликты, выполняем $ hg resolve --all для попытки автоматически их разрешить.
  4. Если остаются неразрешенные конфликты, то разрешаем их вручную. Для файлов разрешенных конфликтов пишем $ hg resolve -m имя файла. Вручную удаляем имя файла.orig
  5. 5.    После разрешения всех конфликтов выполняем $ hg commit -m "Merge что куда" и $ hg push

Использование графического инструмента слияния

Один из графических инструментов слияния это kdiff3, ниже показан снимок экрана kdiff3 в работе. Выполняемое таким образом слияние называется тройственным (three-way), потому что есть три различные версии файла. В инструменте сравнения верхняя часть окна поделена на три панели:

-         слева базовая версия файла, т.е. самая последняя версия, после которой произошло разделение на те две версии, которые мы пытаемся объединить.

-         посередине «наша» версия файла, содержащая наши изменения.

-         справа «их» версия файла, то есть версия из ревизии, с которой мы производим слияние.

На панели снизу располагается текущий результат слияния. Задача — заменить весь красный текст, означающий неразрешенные конфликты, на осмысленный результат слияния «нашей» и «их» версий файла.

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

 

 

  1. 4.     Примеры работы с Mercurial

На рисунке показано 2 ветки, которые имеют содержат файл ngskfbg.txt с одинаковым именем и разным содержимым

 

 

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

 

 

При успешном выполнении слияния перед нами появится окно с предложением сразу же закомитить изменения и окно с результатами слияния.

При возникновении конфликтов во время слияния их можно решить автоматически или вручную с помощью KDiff3.

 

  1. Источники

https://www.youtube.com/watch?v=CxtQHcX_MTY

http://habrahabr.ru/post/109203/

http://mercurial.selenic.com/wiki/RussianTutorialConflict