Subversion: объединение файлов, которые (временно) вышли из-под контроля версий - PullRequest
2 голосов
/ 05 февраля 2011

Я часто работаю с людьми, не особо разбирающимися в управлении версиями, поэтому следующий вариант использования Subversion был бы очень полезен, если бы я знал волшебные слова.

  1. Я фиксирую своипоследняя версия, обратите внимание на ревизию R
  2. Я отправляю файл по электронной почте сотруднику и продолжаю работать, возможно, внося дополнительные изменения по мере поступления
  3. Когда я получаю файл от сотрудника,трехстороннее слияние изменений из R в их версию в мою рабочую копию

Кажется, что ветвление и т. д. для этого немного тяжеловато, но я открыт для любых предложений о хороших способахработа сделана.

Ответы [ 2 ]

3 голосов
/ 05 февраля 2011

Похоже, @Martinho Фернандес дал вам хороший ответ, но я хотел бы отметить, что ветвление в Subversion совсем не тяжелое. Это дешевая, простая операция копирования с постоянным временем и пространством. Использование ветки может сделать процесс менее подверженным ошибкам:

  1. Если вы хотите отправить своему участнику, svn cp код в новую ветку. Если вы следуете «канонической» структуре хранилища , это будет что-то вроде svn cp <a href="http://your-repository.com/trunk/" rel="nofollow">http://your-repository.com/trunk/</a> http://your-repository.com/branches/some-name.
  2. По желанию, используйте svn export, чтобы получить копию своего кода, чтобы передать его своему участнику.
  3. Продолжайте работать в багажнике.
  4. Когда вы получите код от своего участника, убедитесь, что вы отметили любые изменения в транке, иначе этот следующий шаг не будет работать так, как вы ожидаете.
  5. Из корневого каталога вашей рабочей копии svn switch <a href="http://your-repository.com/branches/some-name" rel="nofollow">http://your-repository.com/branches/some-name</a>.
  6. Скопируйте код участника над рабочей копией и зарегистрируйте его.
  7. svn switch <a href="http://your-repository.com/trunk" rel="nofollow">http://your-repository.com/trunk</a>
  8. Теперь вы объединяете изменения последнего коммита с веткой в ​​вашу рабочую копию. Это может быть самый сложный шаг, если вы к нему не привыкли, но как только вы знаете, как это сделать, это довольно просто. См. эту документацию по слиянию , чтобы начать.

Я знаю, что это не так просто, как не использовать ветвление и слияние, но как только вы освоитесь, вы, вероятно, не захотите делать это каким-либо другим способом (по крайней мере, при использовании Subversion).

1 голос
/ 05 февраля 2011

Может быть более простое решение, но оно должно работать:

  1. Начните с чистой рабочей копии (т. Е. Без локальных изменений)
  2. Вернитесь к ревизии R youранее принял к сведению (возможно, напишите это где-нибудь в электронном письме)
  3. Скопируйте измененный файл вашего соавтора поверх файла в вашей рабочей копии @ R
  4. Обновите до последней редакции, объединив ваши изменения в
  5. Передать объединенные изменения
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...