2009-02-26 4 views
1

Мы управляем нашей веб-разработкой с помощью SVN. В одном проекте мы развернули сайт, экспортировав проект и связав его с сервером клиента. Этот клиент работает и внес изменения в код на FTP. Теперь мы нанимаем для добавления дополнительных функций на сайт.SVN Слияние изменений, сделанных на FTP, в рабочую копию

Как я могу выполнить работу, выполненную на FTP, и объединить ее в мою рабочую копию? Я хотел бы сохранить svn реквизиты и внешние ссылки и только обновлять те файлы, которые были изменены, так что я могу отслеживать эти изменения с помощью diff. Благодаря!

ответ

3

Скопируйте папку в локальную рабочую копию и позвольте ей перезаписать любой измененный файл. Теперь у вас есть рабочая копия со всеми изменениями, которые вы обычно можете совершить. Update 1: Любой файл без изменений будет обнаружен как таковой, так что не будет совершено (по крайней мере, с помощью черепаху)

+0

Вы также хотели бы проверить наличие новых непереведенных файлов, поэтому проверьте, не вернули ли файлы до и после копирования, и проверьте их новые. –

+0

Знаете ли вы, что хороший способ командной строки для копирования файлов не заменяет целые каталоги ? Я не хочу уничтожать все папки .svn. Просто переместите файлы. Спасибо! – weotch

+0

В какой среде вы находитесь?/on windows Я бы просто скопировал его из обычного проводника файлов, и он будет добавлять только папки/файлы и заменять файлы, поэтому папки .svn все равно будут там. – eglasius

1

Во-первых, убедитесь, что вы не неподтвержденные изменения на вас локальная копия. Если вы это сделаете, и они стабильны, зафиксируйте их. Если у вас есть неустойчивые изменения, лучше создать новую ревизию из пересмотра главы. Затем выполните следующие шаги.

  1. Создайте тег/ветвь вашей текущей главы.
  2. Обновите свою локальную копию до версии главы. (См комментарии выше)
  3. Скачать код с FTP
  4. Скопируйте загруженный код в вашу рабочую копию
  5. Проверить файлы, которые изменились после перезаписи.
  6. Перенесите эти измененные файлы с помощью инструмента diff.
  7. Обязательные объединенные файлы.
  8. Если что-то пойдет не так, вы можете откат к тегу/ветке, созданному на шаге 1, и повторите попытку.
0

Возможно, что-то не в тему, но как насчет того, чтобы попробовать систему управления распределенной версией, такую ​​как git, bazaar или mercurial? Звучит точно так, как вам нужно.

Клиент может клонировать репо и совершать локальные коммиты, после чего вы можете слить его обратно в мастер-репо, когда закончите. Таким образом, вы все еще сохраняете всю историю от клиента, тогда как FTP не будет.

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