SVN: как сравнить две ветки и выборочно слить файлы
От: Аноним  
Дата: 10.02.10 11:20
Оценка:
Установлена и работает SVN.
Ко мне тут подошли разработчики, и требуют странного:

Есть 2 каталога с проектом: каталог С (стабильный) и каталог Д (девелоперский).
В каталоге С иногда правятся мелкие ошибки, этот каталог в основном тестят тестеры,
на нем же постановщики придумывают свои постановки, с него же делаются релизы.

Каталог Д отличается нестабильностью и активной ежедневной колбаснёй.
Хотят периодически переливать баг-фиксы из ветки С в ветку Д,
а также периодически переливать выборочный пяток-десяток файликов из Д в С.

Говорят, нет такого способа — выборочный мерж. Сливает все файлы без вопросов.

Пока всё ручками делают (ну вернее через WinMerge), но похоже запарились они там.
Спрашивают — есть ли способ вести эти 2 каталога именно через SVN.
Готовы перейти на GIT или HG, если там есть нужный функционал.
svn ветки
Re: SVN: как сравнить две ветки и выборочно слить файлы
От: Аноним  
Дата: 12.02.10 16:11
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Каталог Д отличается нестабильностью и активной ежедневной колбаснёй.

А>Хотят периодически переливать баг-фиксы из ветки С в ветку Д,
А>а также периодически переливать выборочный пяток-десяток файликов из Д в С.

Сам не пробовал, но по идее так:
В TortoiseSVN зайти в лог, в логе выбрать нужную ревизию с D-багфиксом, правой кнопкой "Merge revision to..." и указать стабильную ветку.

Можно попробовать еще в том же TortoiseSVN через Repo-browser сравнить две ветки и оттуда что-то делать.

В любом случае, мёрж руками идеологически неверен.
Re: SVN: как сравнить две ветки и выборочно слить файлы
От: Mr.Cat  
Дата: 12.02.10 16:34
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Каталог Д отличается нестабильностью и активной ежедневной колбаснёй.
А>Хотят периодически переливать баг-фиксы из ветки С в ветку Д,
Это обычный merge из С в Д.

А>а также периодически переливать выборочный пяток-десяток файликов из Д в С.

А вот это хуже. В svn не получается нормально мержить в обе стороны. Предполагается, что бранч Д в итоге будет реинтегрирован (merge --reintegrate) в С и удален.

А>Готовы перейти на GIT или HG, если там есть нужный функционал.

Тут можно будет нормально переносить любые коммиты как из С в Д, так и наоборот. Не файлы, а именно коммиты.
Re: SVN: как сравнить две ветки и выборочно слить файлы
От: Cyberax Марс  
Дата: 12.02.10 16:41
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Каталог Д отличается нестабильностью и активной ежедневной колбаснёй.

А>Хотят периодически переливать баг-фиксы из ветки С в ветку Д,
А>а также периодически переливать выборочный пяток-десяток файликов из Д в С.
git. Это типичный use-case для git cherry-pick.
Sapienti sat!
Re[2]: SVN: как сравнить две ветки и выборочно слить файлы
От: Mr.Cat  
Дата: 12.02.10 16:44
Оценка:
Здравствуйте, Cyberax, Вы писали:
C>git. Это типичный use-case для git cherry-pick.
Можно поподробнее про этот юзкейс? В чем суть?
Re[3]: SVN: как сравнить две ветки и выборочно слить файлы
От: Cyberax Марс  
Дата: 12.02.10 16:47
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>Здравствуйте, Cyberax, Вы писали:

C>>git. Это типичный use-case для git cherry-pick.
MC>Можно поподробнее про этот юзкейс? В чем суть?
Необходимость портировать несколько коммитов из одной ветки в другую (из нестабильной в стабильную).
Sapienti sat!
Re[4]: SVN: как сравнить две ветки и выборочно слить файлы
От: Mr.Cat  
Дата: 12.02.10 16:51
Оценка:
Здравствуйте, Cyberax, Вы писали:
C>Необходимость портировать несколько коммитов из одной ветки в другую (из нестабильной в стабильную).
Это я знаю. Просто ТС говорил про отдельные файлы. Т.е. cherry-pick может из коммита выдрать инфу только об определенном файле?
Re[5]: SVN: как сравнить две ветки и выборочно слить файлы
От: . Великобритания  
Дата: 12.02.10 21:54
Оценка:
On 12/02/2010 18:51, Mr.Cat wrote:

> C>Необходимость портировать несколько коммитов из одной ветки в другую

> (из нестабильной в стабильную).
> Это я знаю. Просто ТС говорил про отдельные файлы. Т.е. cherry-pick
> может из коммита выдрать инфу только об определенном файле?
git позволяет редактировать коммиты. В этом случае я бы, скорее всего, сделал cherry-pick, потом rebase с нужными правками, потом push в центральный репо.
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.