Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > слить 2 проекта


Автор: mrgloom 6.3.2013, 11:49
есть 2 проекта на vs2008, которые сами по себе представляют одно и то же, только с разными дописанными частями, надо их слить в один.

т.е. надо как то проверить сначала просто на разницу *.cpp и *.h файлов возможно просто даже по размеру (чем это можно сделать?)
а потом уже сравнивать содержимое файлов (вроде есть плагин для notepad++).


ну вообщем вопрос как это можно сделать с наименьшими усилиями\удобнее всего?

Автор: bsa 6.3.2013, 12:50
mrgloom, если у тебя есть исходники до момента разделения, то ты можешь это сделать через создание репозитория svn из старых исходников, коммита одного из новых, а затем копирования поверх другого набора исходников и трехстороннего слияния через tortoise svn...
Если старых исходников нет или нет желания возиться с svn, то могу порекомендовать утилиту tortoise merge. Она очень подходит для этого.

Автор: math64 6.3.2013, 14:08
Можно воспользоваться также другой системой контроля версий, например Mercurial + TortoiseHg, или kdiff3.exe, входящий в состав TortoiseHg и дистрибутивов Linux.
Иметь исходники до момента разделения желательно, но не обязательно.
kdiff3.exe умеет сравнивать три входных файла и формировать один на выходе.

Добавлено через 2 минуты и 54 секунды
Если не хочешь ничего доустанавливать в систему - пользуйся fc.exe, входящий в состав Windows.
Он сравнивает два файла и выдаёт разницу на экран. После чего нужно вручную вносить изменения, чтобы получить объединённый файл.

Автор: mrgloom 7.3.2013, 11:41
TortoiseSVN вроде бы даже стоит, использовал для скачивания какого то опенсорс проекта.

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


TortoiseMerge похоже на плагин для notepad++.
проблема в том, что там надо указывать файл который хочешь сравнить, можно как то указать 2 проекта и чтобы она по порядку выводил файлы для сравнения?

Автор: math64 7.3.2013, 12:37
Kdiff3 может сранивать каталоги - как с TortoiseMerge не знаю.

Автор: bsa 7.3.2013, 13:31
mrgloom, Tortoise Merge выполняет объединение двух текстовых файлов. Если тебе необходимо сначала синхронизировать проекты (т.е. файлы разные), то сначала воспользуйся специальными утилитами (например, есть синхронизация каталогов в Total Commander). А затем уже занимайся объединением кода.

Автор: mrgloom 7.3.2013, 13:43
нашел winmerge, делает как раз то что нужно, можно сравнивать сразу папками в бинарном и текстовом виде, единственное нету чтобы можно было сразу заменять файлы, хотя это я может еще не разобрался.

Добавлено через 7 минут и 12 секунд
хотя нет даже такая кнопка есть)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)