SVN: Создайте разность для большого количества изменений

Различие между этими двумя является тонким, но значительным.

В процедурной программе, модули взаимодействуют путем чтения и записи состояния, которое хранится в структурах совместно используемых данных.

В объектно-ориентированной программе, модули в форме объектов взаимодействуют путем отправки сообщений в другие объекты.

34
задан Paul Tarjan 13 October 2009 в 06:53
поделиться

2 ответа

Одной из возможных процедур может быть следующее:

  1. создать различия для 224453 и 224462 (например, с помощью svn diff -r 224452: 224453> diff1.patch ).
  2. проверить 224446 ( svn up -r224446 )
  3. применить различия (например, patch -p0 -i diff1.patch )
  4. создать разницу этого против 224445 ( svn diff -r 224445> diff2.patch )
31
ответ дан 27 November 2019 в 17:09
поделиться

Один из вариантов - создать ветку на 224446, а затем объединить 224453 и 224462. Затем найдите разницу между этим и 224445 на стволе. Это должны быть все изменения в одном, и вы можете создать его как файл патча, если вам нужно:

# Branch from your initial checkin
svn cp svn://xyz/trunk@224446 svn://xyz/branches/foo

# Check it out
svn checkout svn://xyz/branches/foo tmp

# Merge in the two changes
svn merge -c 224453,224462 svn://xyz/trunk tmp

# Commit the changes
svn commit tmp -m "Extra commits 224453 and 224462"

# Diff the branch from mainline before original
svn diff svn://xyz/trunk@224445 svn://xyz/branches/foo

Это в основном то же самое, что и ответ Мартина, только с разными способами применения изменений и получения различий. Обратите внимание, что хотя в данном случае я зафиксировал изменения, в действительности это не обязательно - вы можете просто выполнить svn diff svn: // xyz / trunk @ 224445 tmp вместо двух последних команд. Хорошая вещь в том, чтобы иметь его в репозитории, тогда любой может применить diff в обратном порядке, чтобы откатить его, если это потребуется.

7
ответ дан 27 November 2019 в 17:09
поделиться
Другие вопросы по тегам:

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