На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> SVN merge
    как его правильно делать?
    Делаю слияние транка и ветки, но почему-то заменятся всего одни файл стилей.
    Когда в транке есть несколько новых папок и в ветке есть несколько новых папок, кроме того штук 10 файлов различны

    Добавлено
    захожу в ветку с транчем

    svn merge -r 164:167 https://svn.сайт.com/svn/проект/branches/кресло
    164 — последняя ревизия ветки "кресло"
    167 — последняя ревизия транка
      http://habrahabr.ru/blogs/development_tools/57591/
      Это читал?
      Вроде как раз на твой случай похоже.
        читал
        я весь гугл перерыл, не помогло
        в результате сделал вручную мерж
          когда надоело сношаться с svn-овскими слияниями, перешел на гит :D

          а когда появляется необходимость, мержу по одному коммиту:
          svn merge -с 164 https://svn.сайт.com/svn/проект/branches/кресло .
          svn merge -с 165 https://svn.сайт.com/svn/проект/branches/кресло .
          svn merge -с 166 https://svn.сайт.com/svn/проект/branches/кресло .
          ...
          (все эти коммиты, были в ветке, а не в транке)

          Цитата orb @
          svn merge -r 164:167 https://svn.сайт.com/svn/проект/branches/кресло
          164 — последняя ревизия ветки "кресло"
          кстати, не правильно. надо указывать ревизии, которые хочешь перенести.
          т.е. если в бранче были коммиты 150(ответвление бранча),155,156,157,159(последний коммит)
          а в транке 149,151,152,153,154,158

          то надо указать те коммиты, что были в бранче, т.е., для этого примера:
          svn merge -r 155:159 https://svn.сайт.com/svn/проект/branches/кресло

          а ты указал только последний коммит - 164, т.к. после этого коммита больше изменений в ветке не было, другие коммиты не учлись, если б был 166, он бы тоже был включён в мерж (т.к. входит в диапазон 164:167.

          Да, самый лучший инструмент для слияний - Eclipse Subversive. Впрочем, я уже говорил, но никто меня не слушает :no-sad:

          Добавлено
          простите, не заметил, что вопрос решен :unsure:
            Цитата negram @
            а когда появляется необходимость, мержу по одному коммиту:
            да там и коммитов штук 30+ от разных людей, часть из которых уже не актуальна
              Цитата orb @
              да там и коммитов штук 30+ от разных людей, часть из которых уже не актуальна
              раз есть неактуальные, тем более придётся по-одному выбирать
              посему, лучше делать много веток - для каждой фичи своя. И в каждую ветку вносить только те изменения, которые относятся к тому, для чего бранч был ответвлён... Как фича готова - мерж её в мастер и ветку нафиг.
              Да и 30 - не так уж и много :rolleyes: :)
                Цитата negram @
                раз есть неактуальные, тем более придётся по-одному выбирать
                я думал что будет мержится последние состояние ветки
                не одного коммита, а всей ветки
                Иначе какой смысл? Создать ветку ради одно двух коммитов? :wall:

                Добавлено
                Цитата negram @
                Да и 30 - не так уж и много
                я их не считал. над веткой работало несколько человек, поэтому там написано 30+
                  Цитата orb @
                  не одного коммита, а всей ветки
                  Да, для этого случая указываешь диапазон ревизий. (это раз)
                  Погугли что делает svn merge --reintegrate (это два).
                  Полностью ветку (то есть все изменения ветки) Эклипс как-то умеет мержить - смотреть надо, давно не делал (это три).

                  Цитата orb @
                  Создать ветку ради одно двух коммитов?
                  Да, именно так. И не надо об стенку стучаться - это нормальный рабочий процесс :) .

                  Сделал один два коммита, посмотрел работает-нет. Если все тесты проходят, фича полностью готова (т.е. функционал завершен), фича вливается в транк. Если нет, продолжаем коммитить, пока всё не будет идеально. Самое главное, при этом, - во-первых, все кто работает с мастером транком не вынуждены наступать на твои косяки (т.е. в транке лежит максимально стабильная, рабочая версия); во-вторых, если потребуется срочно что-то пофиксить в транке/другой ветке, тебе не надо будет выяснять какие изменения относятся к рабочей версии, какие к текущей задачи, какие к другой задаче: просто переключаешься на нужную ветку и делаешь.

                  Короче, происходит группировка мелких изменений, имеющих общую цель.
                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                  0 пользователей:


                  Рейтинг@Mail.ru
                  [ Script execution time: 0,0252 ]   [ 15 queries used ]   [ Generated: 23.04.24, 13:05 GMT ]