пятница, 1 августа 2008 г.

Соединяем файлы. С успехом.

Раз пошла такая пьянка, сегодня замечу ещё кое-что про Starteam.

Страшное слово автомёдж (Automerge). Его боятся многие разработчики. Они просто не знают ещё, что на самом-то деле страшно в конце плодотворного рабочего дня вместо чекина нажать чекаут. Но шутки в сторону. Автомедж – весьма полезная и экономящая кучу времени вещь. Не буду разводить много воды, сразу приступим к примеру. Есть представление Beta, олицетворяющее собой бета-версию продукта, и есть, как водится, представление Release – релиз. Допустим, в Beta мы придумали три новых класса и хотим их интегрировать в релиз. Делается это в три счета: Открываем нужное представление, в меню нажимаем View->Compare/merge, в диалоге выбираем проект и его представление, в которое хотим внести изменения. Появится окно, логику работы которого описать в двух словах непросто, но на деле с ним очень легко разобраться. Ctrl+F поможет найти вам различия в представлениях (на рисунке это файл Manual.txt).

Чтобы соединить два файла в один, нужно выбрать в контекстном меню конфликтного элемента пункт Merge Items или Auto-Merge Items (но это только для крепких духом. Шутка. Если Starteam обнаружит, что в файлах есть конфликт, он всё равно переключится в ручной режим). Так как в нашем файле данные только добавились, то Starteam отрапортует, что все соединилось успешно. Если автоматическая склейка не получилась в силу каких-то причин, среда выдаст ещё одно замечательное окно, которое позволит свести два файла воедино без лишних переживаний (обратите внимание на номера строк в соединяемых файлах – это типичный конфликт. Но не надо думать, что Visual megre работает только по номерам строк. Это достаточно продвинутый инструмент для поиска блоков текста в файлах).


И ещё, если вы хотите соединить данные из разных проектов, то вначале придется эти данные поставить в соответствие друг другу командой Reconcile. Собственно, из страшного все. Остальное несущественно и осваивается в рабочем порядке.

6 комментариев:

Анонимный комментирует...

Очень интересный блог! спасибо автору! Может, напишите еще пост про ручной мерж бинарных файлов? ну типа форма, а в ней отчет, а в нем картинка, а на ней пару пикселей поменялось.

Mikhail Mokhov комментирует...

Мержить бинарные файлы - неблагодарное занятие =)
Старайтесь хранить формы в текстовом формате.

Mikalai комментирует...

Неплохая бесплатная утилита по слиянию файлов - WinMerge, правда она никак не интегрирована в IDE.

Mikhail Mokhov комментирует...

Спасибо за наводку! Давно её не видел - стала очень удобной и интелектуальной. Грузим.
http://winmerge.org/
PS По поводу интеграции - я подобные утилиты интегрирую в far - там им самое место =)

Bolshakov Oleg комментирует...

Михаил, можно ли опубликовать Ваш материал по StarTeam на своем сайте со ссылкой на ваш блог?

Mikhail Mokhov комментирует...

Да, конечно. Условия публикации простые: в первоначальном виде без редактирования и со ссылкой на блог.