7

Итак, в хранилище Subversion есть папка с неправильным именем. Мне было поручено переименовать его. К сожалению, хранилище очень большое, а это значит, что на проверку данных уходит совсем немного времени. Это также постоянно дает мне сообщения "сброс соединения по одноранговой сети".

Есть ли способ просто отправить инструкцию фиксации в хранилище без проверки? Мне не нужно иметь рабочую проверку на месте.

(Если это уместно, хранилище размещается в Ассембле)

1 ответ1

9

Во-первых, для вашего прямого вопроса: svn move позволяет давать URL-адреса в хранилище, чтобы избежать необходимости в рабочей копии для этой одной операции. Например,

svn mv http://example.com/svn/repo/trunk/path/to/dir http://example.com/svn/repo/trunk/path/to/renameddir -m "renaming poorly named directory"

Но на самом деле, размер репозитория не должен иметь принципиального влияния на эту задачу. Вам НЕ нужно проверять полный репозиторий для этой задачи. Вероятно, вам не нужно проверять полный репозиторий для большинства задач, так что вы должны читать дальше! Концепция, называемая разреженной рабочей копией, позволяет вам проверять только то, что вам нужно для вашей задачи. Кроме того, всегда извлекайте только необходимое поддерево из репозитория.

Для вашей непосредственной задачи вы можете создать рабочую копию, содержащую только папки в каталоге, расположенном непосредственно над той, которая требует переименования. Чтобы продолжить пример, вы получите следующую рабочую копию:

svn co --depth immediates http://example.com/svn/repo/trunk/path/to MY_WORKING_COPY

Обратите внимание, что при этом также будут извлечены все файлы в каталоге "to" за пределами подкаталогов, если они есть. Если вы хотите избежать этого, это также возможно:

svn co --depth empty http://example.com/svn/repo/trunk/path/to MY_WORKING_COPY
svn up --set-depth empty MY_WORKING_COPY/dir

Обратите внимание, что клиент TortoiseSVN позволяет легко автоматизировать второй метод, если вам нужна куча файлов / подкаталогов.

Поищите в Интернете "разреженную рабочую копию", и вы найдете гораздо больше информации.

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