'Un-SVN' рабочая копия - PullRequest
       23

'Un-SVN' рабочая копия

47 голосов
/ 08 октября 2008

У меня есть папка, которая является моей рабочей копией. Как удалить все функции SVN из этой папки? Для этого есть причина: каким-то образом моя главная папка, содержащая все мои рабочие копии сайтов, каким-то образом превратилась в рабочую копию, поэтому у меня есть рабочая копия как таковая.

Итак, есть ли простой способ удалить контроль версий из папки?

Ответы [ 14 ]

47 голосов
/ 08 октября 2008

svn export - это команда, которую вы ищете. Вы можете экспортировать контролируемый набор файлов в неконтролируемое место и использовать его.

32 голосов
/ 08 октября 2008

Просто удалите все папки ".svn" в нем. Вот и все.

23 голосов
/ 10 октября 2008

Если вы использовали * nix-подобные инструменты:

find . -type d -name .svn -print0 | xargs -0 rm -fr
13 голосов
/ 08 октября 2008

Если вы используете TortoiseSVN, вы можете просто щелкнуть правой кнопкой мыши в корневой папке вашей рабочей копии и нажать Экспорт ... Это будет работать, даже если у вас есть незафиксированные изменения.

Аналогично, вы можете просто выполнить экспорт из своего репозитория, и он не создаст ни одну из папок .svn.

Другой простой подход - просто удалить все папки .svn, как упоминалось ранее.

4 голосов
/ 08 октября 2008

как насчет этого:

for /f "tokens=* delims=" %%i in ('dir /s /b /a:d ".svn"') do rd /s /q "%%i"

для рекурсивного удаления всех папок .svn -

(если вы не можете использовать функцию экспорта, не можете получить доступ к хранилищу и т. Д.)

4 голосов
/ 08 октября 2008

Windows-клиент "TortoiseSVN" имеет функцию "Экспорт". Экспорт создает копию в другом месте без всех этих папок ".svn". Вы можете экспортировать либо из репозитория, либо из локальной копии с возможностью включения неверсионных файлов.

4 голосов
/ 08 октября 2008

Вы можете вручную удалить все папки .svn (обязательно сделайте это также для каждой подпапки) или использовать простую утилиту, такую ​​как Команда оболочки Джона Галлауэя .

3 голосов
/ 25 июля 2009

Вот пакетный скрипт Windows, который удалит все папки .svn из каталога рабочей копии Subversion:

@echo off
rem cleanup .svn subdirs

setlocal enabledelayedexpansion

rem change to directory that this batch script resides in

if "%~1"=="" (
    echo Usage: svncleanup svn_working_copy_dir
    exit /b 1
)

echo cleaning up .svn subdirs in "%~1" ...

for /R "%~1" %%I in (.svn) do rmdir /Q /S "%%I" > NUL 2>&1
3 голосов
/ 08 октября 2008

TortoiseSVN имеет возможность экспортировать файлы без привязок Subversion - щелкните правой кнопкой мыши по хранилищу (или каталогу внутри репозитория), затем TortoiseSVN, затем Export. Другой способ сделать это - удалить все каталоги .svn во всех папках.

2 голосов
/ 09 мая 2012

Экспорт на месте с черепахой

Когда я прочитал все вышеперечисленные предложения, я сжался, потому что мои исходные файлы 3 ГБ, со многими папками.svn.

Выберите «Экспорт» в контекстном меню R-щелчка, и когда появится диалоговое окно «где разместить копию», выберите ту же самую папку . ХОРОШО. Виола, весь источник контроля над ресурсом (рекурсивно) исчез, мгновенно.

...