Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.9.171] |
|
Сообщ.
#1
,
|
|
|
проект контролируется в svn. В качестве клиента использую TortoiseSVN. проблема в следующем:
сделал ревизию 20, затем изменил несколько файлов и закомитил... ревизия 21... ещё раз поменял кое что и закомитил... ревизия 22... потом понял что неверным путём иду. нужно откатиться на ревизию 20. откатился командой "Обновить до ревизии...". Встал на верный путь всё исправил. Теперь в рабочей копии верный проект. Хочу его закомитить в ствол, т.е. сделать ревизию 23 на базе рабочей. Как это сделать? При попытки закомитить пишет что нужно сделать update до head. Но в head неправильный код, я не хочу обновлять до нерабочего кода, чтоб закомитить. Как быть? |
Сообщ.
#2
,
|
|
|
Если никто не предложит ничего лучше, то можно сделать такой финт.
1. Сохраняешь сделанные из ревизии 20 изменения. 2. Опять откатываешь рабочую папку к ревизии 20 3. Сохраняешь и её 4. Возвращаешься к ревизии 22 5. Из копии сделанной на шаге 3 вручную восстанавливаешь состояние ревизии 20 6. Делаешь коммит 23 с условным названием "Откат изменений 21,22" 7. Из копии сделанной на шаге 1 восстанавливаешь правильные изменения 8. Делаешь коммит 24 с условным названием "Правильное направление" Вообще, вроде должна быть команда сдвига head'а на указанную ревизию. По крайней мере в TortoiseGit (ветка оболочки для другой популярной СКВ) в контекстном меню дерева ревизий есть команда "Reset "master" to this...". |
Сообщ.
#3
,
|
|
|
костыльный вариант. Походу так и придется делать. В описании на черепаху вроде есть откат хеада к номеру ревизии с последующей фиксацией разными способами, но чего-то не взлетело. костылем воспользуюсь.... попробую потом потренироваться по мануалу на черепаху.
|
Сообщ.
#4
,
|
|
|
Собственно, мне как-то тоже подобным заниматься пришлось. Но там дело усложнялось тем, что в ту же ветку ещё народ коммитил. Откатывать голову было нельзя. Сейчас такие проблемы в прошлом, так как я уже пару лет с svn дела не имею. Для себя пользуюсь Git'ом.
|
Сообщ.
#5
,
|
|
|
Цитата juvf @ Но в head неправильный код, я не хочу обновлять до нерабочего кода, чтоб закомитить. Как быть? сделать update если версия на svn более старая по времени чем рабочая копия, то ничего не будет.... PS: если много сомнений, то сделай резервную копию рабочей папки и делай update |
Сообщ.
#6
,
Сообщение отклонено: negram -
|