Задать вопрос
@selenite

Как правильно сделать серию коммитов в один SVN-репо из нескольких инкрементальных бекапов (diff)?

Мне надо внести в некий код кучу мелких и уже определенных изменений, относящихся к одним и тем же файлам, а затем последовательно поместить лог этих изменений в SVN. Или,

1) сделать commit с каждым изменением (по заранее сформированному списку) отдельно

2) но, произвести все коммиты сразу (в пределах пары минут)

svn commit file1.cpp file2.cpp -m &quot;изменение #1&quot;<br/>
 svn commit file2.cpp -m &quot;изменение #2&quot;<br/>
 svn commit file1.cpp -m &quot;изменение #3&quot;<br/>




Сейчас планируется сделать такой костыль — в рабочей копии, генерировать diff между изменениями (каждый раз сохраняя diff и текущую версию рабочей копии), затем «проиграть» эти изменения в немодифицированной копии репо.



Так вот, подозреваю, что существует какой-то стабильно изощренныйстандартный механизм для осуществления подобных операций, не включающий в себя кучу резервных копий, из которых создается diff. И даже есть основания полагать, что он реализован на базе локального svn/git-репо. Кто что подобное видел?



// точно известно, что за время этого процесса к коду никто другой не прикоснется. И что в отсылке всех изменений за одну минуту есть некий смысл.
  • Вопрос задан
  • 3082 просмотра
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
@ComodoHacker
Тут бы вам git пригодился.

В SVN клиенте просто не предусмотрено хранение более чем одной версии файла, отличной от текущей. «Локального репо» в SVN нет.
Так что делайте ваш костыль.
Ответ написан
Комментировать
yadeveloper
@yadeveloper
В SVN клиенте просто не предусмотрено хранение более чем одной версии файла, отличной от текущей.
Ну как это не предусмотрено? Бренчи?

По существу — что мешает сделать бренч, в котором сделать все ваши изменения, после финализации которых сделать мердж с той самой веткой, которая немодифицирована? Вам все равно, изменялась ли немодифицированная ветка, у вас значительно больше 1 минуты времени, так как вы делаете мердж с определенными ревизиями. Но и это вам все равно не мешает сделать lock.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы