На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> откат проекта с svn
    проект контролируется в svn. В качестве клиента использую TortoiseSVN. проблема в следующем:
    сделал ревизию 20, затем изменил несколько файлов и закомитил... ревизия 21... ещё раз поменял кое что и закомитил... ревизия 22... потом понял что неверным путём иду. нужно откатиться на ревизию 20. откатился командой "Обновить до ревизии...". Встал на верный путь всё исправил. Теперь в рабочей копии верный проект. Хочу его закомитить в ствол, т.е. сделать ревизию 23 на базе рабочей. Как это сделать? При попытки закомитить пишет что нужно сделать update до head. Но в head неправильный код, я не хочу обновлять до нерабочего кода, чтоб закомитить. Как быть?
      Если никто не предложит ничего лучше, то можно сделать такой финт.

      1. Сохраняешь сделанные из ревизии 20 изменения.
      2. Опять откатываешь рабочую папку к ревизии 20
      3. Сохраняешь и её
      4. Возвращаешься к ревизии 22
      5. Из копии сделанной на шаге 3 вручную восстанавливаешь состояние ревизии 20
      6. Делаешь коммит 23 с условным названием "Откат изменений 21,22"
      7. Из копии сделанной на шаге 1 восстанавливаешь правильные изменения
      8. Делаешь коммит 24 с условным названием "Правильное направление"

      Вообще, вроде должна быть команда сдвига head'а на указанную ревизию. По крайней мере в TortoiseGit (ветка оболочки для другой популярной СКВ) в контекстном меню дерева ревизий есть команда "Reset "master" to this...".
        костыльный вариант. Походу так и придется делать. В описании на черепаху вроде есть откат хеада к номеру ревизии с последующей фиксацией разными способами, но чего-то не взлетело. костылем воспользуюсь.... попробую потом потренироваться по мануалу на черепаху.
          Собственно, мне как-то тоже подобным заниматься пришлось. Но там дело усложнялось тем, что в ту же ветку ещё народ коммитил. Откатывать голову было нельзя. Сейчас такие проблемы в прошлом, так как я уже пару лет с svn дела не имею. Для себя пользуюсь Git'ом.
            Цитата juvf @
            Но в head неправильный код, я не хочу обновлять до нерабочего кода, чтоб закомитить. Как быть?

            сделать update
            если версия на svn более старая по времени чем рабочая копия, то ничего не будет....


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


              Рейтинг@Mail.ru
              [ Script execution time: 0,0198 ]   [ 15 queries used ]   [ Generated: 9.12.24, 20:48 GMT ]