2009-03-20 2 views
3

На работе у нас очень большая база кода, которую мы обычно экспортируем для веб-приложения, чтобы все было обновлено. Если мы разрабатываем тестовый код, это всегда делается в ветке, чтобы убедиться, что он не противоречит сундуку, который неожиданно может привести к выпуску ошибки.SVN Diff Export

Вопрос в том, можно ли экспортировать SVN, но только для различий, иначе весь репозиторий должен быть снова экспортирован, что занимает довольно много времени. Скажем, например, у нас был флаг «последний экспортированный», затем мы сравниваем последние даты обновления с файлами и экспортируем только те, которые были позже последней даты экспорта.

Это будет очень удобно для систем inter/intranet, где полный экспорт выполняется для того, чтобы синхронизировать наш live/repo. Есть идеи?

EDIT - Посмотрев на патч, я не вижу, как вы создаете патч для файлов, которые уже существуют в репо. У нас уже есть файлы. Поэтому я хочу создать патч из x-версии в голову и применить его к корню моего проекта, чтобы применить каждое отдельное различие. Однако я не уверен, что это возможность.

+0

Так вообще говоря, патч? –

+0

Я не знаю, я никогда не использовал патчи, поэтому я, возможно, задаю глупый вопрос :) – Kezzer

ответ

7

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

Конечно, это не может работать так хорошо, если многие из ваших файлов являются бинарными :-)

+0

К счастью, наших двоичных файлов мало. Я предполагаю, что файл патча не имеет проблем при работе с файлами, которые не изменились, он просто сделает файл патча большим, не так ли? – Kezzer

+0

Патч-файл - это просто рецепт того, что должно произойти, чтобы старая версия файла выглядела как новая версия; файлы, которые не изменились, даже не в патче ... так что вы правы, никаких проблем нет. –

1

Нам нужно было что-то вроде этого тоже. Поэтому я написал небольшой инструмент Java.

Надеется, что это кому-то пригодится: github svn-diff-export

Смежные вопросы