АНХСВН КОМИТ КОНФЛИКТ

У нас есть несколько разработчиков, работающих над одним веб-приложением / проектом. Для этого мы используем АнхСВН.

Один из разработчиков внес некоторые изменения и совершил проект. Несколько дней спустя другой разработчик в команде внес некоторые изменения и также сделал коммит.

После этого первые изменения разработчика исчезли. Изменения второго разработчика отменяют изменения первого разработчика.

Как восстановить? Как сохранить оба обновления?

Пожалуйста, будьте конкретны. Разрешение этой темы очень важно.

1 ответ

Решение

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

Чтобы выздороветь, я бы попытался (при условии, что я правильно понял, что вы сделали; и это образованное предположение, потому что я не пробовал):

  1. скопировать текущее состояние (без.svn-папок!) во временную папку - это должно быть изменение коммиттера 2 в исходное состояние
  2. Откатитесь до ревизии до того, как первый подтвердил ("обновление до ревизии") - т.е. до версии, с которой они (вероятно) начали (с)
  3. скопировать изменения из временной папки
  4. Обновление до ревизии после первой фиксации. Это должно попытаться объединить изменения и, возможно, вызвать некоторые конфликты, которые вам нужно будет разрешить вручную (возможно, именно здесь номер 2 допустил ошибку).После этого у вас должны быть оба изменения в рабочей копии.
  5. очистить временную папку и скопировать текущее состояние (снова без папок.svn)
  6. теперь мы становимся безобразными: обновите версию HEAD и скопируйте изменения
  7. Убедитесь, что у вас есть что-то, что имеет смысл (скомпилировать) и зафиксировать.

Помните, что вы ничего не потеряете, если не повредите репозиторий - это всё-таки контроль версий...:-)

Другие вопросы по тегам