1

У меня есть репозиторий Assembla, и я использую Tortoise SVN.

Файлы и версии - беспорядок, поэтому я хотел вернуться к старой версии. Я использовал опцию "Checkout SVN", чтобы получить эту версию на моем компьютере.

Теперь я хочу перенести все, что у меня есть на моем компьютере, в хранилище (и удалить все, что там есть).

Я мог бы стереть все в хранилище, но я не хочу терять информацию, версии и т.д.

Я попытался выполнить коммит, но опции для передачи файлов, которые вы не изменяли, там нет.

1 ответ1

0

Когда вы извлекаете конкретную версию из репозитория и пытаетесь зафиксировать ее, вы можете ожидать, что эта ревизия станет ГОЛОВНОЙ, но это не так. Вы можете фиксировать только измененные файлы, независимо от версии, которую вы извлекли. Конечно, один из способов сделать это - проверить последнюю версию, проверить ревизию, к которой вы хотите вернуться, скопировать все файлы из ревизии в последнюю версию, переписать существующие файлы и выполнить коммит позже.

Однако правильный способ сделать это - выполнить обратное слияние. Предположим, вам нужно вернуться к версии 300. Проверьте последнюю версию в каталоге. В этом каталоге выберите Merge из меню SVN Tortoise. Выберите первый вариант, объединить ряд ревизий. Выберите URL хранилища вашего извлеченного каталога. Проверьте обратное слияние. Для слияния диапазона ревизий напишите 300-HEAD. Выберите « Полностью рекурсивный» в качестве « Глубина слияния» и выполните слияние.

Это будет эффективно выполнять обратное слияние, которое в основном отменяет все изменения обратно до версии 300, но вручную. Ваша рабочая копия не вернулась к версии 300. Вы находитесь на последней версии, файлы изменены на содержимое версии 300. Вы сможете зафиксировать рабочую копию в качестве новой редакции. Пожалуйста, не забудьте проверить объединенную версию в вашей рабочей копии, при необходимости проверьте версию 300 в другом каталоге и используйте diff, чтобы убедиться, что файлы имеют желаемое содержимое.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .