Как удалить Subversion control для папки?
у меня есть папка, c:websitestest, и содержит папки и файлы, которые были извлечены из хранилища, который больше не существует. Как я могу получить Subversion для остановки отслеживания, что папки и всех вложенных папок и файлов?
Я знаю, что могу просто удалить .svn папка, но есть много подпапок во многих слоях.
28 ответов:
кроме того, если вы используете TortoiseSVN, просто экспортируйте в текущее рабочее местоположение копии, и оно удалит его .svn папки и файлы.
http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-export.html#tsvn-dug-export-unversion
обновленный ответ для Subversion 1.7:
В Subversion 1.7 рабочая копия была тщательно пересмотрена. Есть только один .папка svn, расположенная в основании рабочей копировать. Если вы используете 1.7 ,то просто удалите.папка svn и ее содержимое-это простое решение (независимо от использования инструментов TortoiseSVN или командной строки).
попробовать экспорт svn.
вы должны быть в состоянии сделать что-то вроде этого:
svn export /path/to/old/working/copy /path/to/plain/codeа затем просто удалите старую рабочую копию.
TortoiseSVN также имеет экспорт, который ведет себя точно так же.
Если вы используете Windows, то вы можете сделать поиск в этой папке для
.svnи это будет список их всех. Нажатие Ctrl + A выделит все из них, и нажатие delete удалит все "надоедливые" материалы Subversion.
Я нашел, что вам даже не нужно копировать во временную папку. Вы можете сделать
svn export --force .а .svn файлы будут удалены in situ, оставив остальные файлы как есть. Очень удобно и менее подвержено беспорядку.
без подрешеток в Linux удалить
.svnпапки:find . -name .svn -exec rm -r -f {} + rm = remove -r = recursive (folders) -f = force, avoids a lot of "a your sure you want to delete file XY".
ни один из этих ответов не является удовлетворительным для моей ситуации. Я на subversion 1.8, и у меня была рабочая копия, которая имела только один
.svnпапка в самой первой папке, root. Однако я хотел удалить некоторые ветви из рабочей копии.независимо от того, что я сделал, всякий раз, когда я запускал "обновление", он восстанавливал эти файлы и возвращал их обратно. Я не хотел удалять их из репозитория, просто с моего компьютера , но мне нужно было сохранить остальную рабочую копию в такте (таким образом, не мог просто снять .папки в SVN).
решение?
svn update --set-depth exclude <dir>это клиентское "обновление", которое исключает определенный каталог. Его можно найти в руководствах по адресу svnbook.com. короче говоря, он описывает это как:
начиная с Subversion 1.6, вы можете использовать другой подход. Во-первых, проверьте каталог в полном объеме. Затем запустите svn update --set-depth exclude в одном подкаталоге, который вам не нужен о.
для TortoiseSVN, вы также можете сделать то же самое правой кнопкой мыши папку, которую вы не хотите, нажмите на кнопку
Update to revision..., а затем установите глубину наExclude, как видно на этом скриншоте:
использовать :
cd c:\websites\test svn export c:\websites\test_copyвсе файлы под контролем версий будут экспортированы. Дважды проверьте, чтобы убедиться, что вы ничего не пропустили.
просто удалить .svn папка внутри необходимой папки, то элемент управления будет автоматически удален.
в Windows вы можете добавить быструю ссылку для этого в меню правой кнопки мыши проводника. Просто запустите этот скрипт реестра:
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Folder\shell\DeleteSVN] @="Delete SVN Folders" [HKEY_CLASSES_ROOT\Folder\shell\DeleteSVN\command] @="cmd.exe /c \"TITLE Removing SVN Folders in %1 && COLOR 9A && FOR /r \"%1\" %%f IN (.svn) DO RD /s /q \"%%f\" \""это добавит элемент под названием "удалить папки SVN" в меню правой кнопки мыши. Это приведет к удалению всех .папки svn в этой папке и во всех подпапках.
источник (немецкий):http://www.sjmp.de/software/alle-svn-ordner-und-dateien-loeschen/
вы можете использовать "SVN export" для создания копии этой папки без данных svn, или вы можете добавить эту папку в список игнорирования
есть также хороший маленький инструмент с открытым кодом под названием SVN Cleaner, который добавляет три опции в контекстное меню Проводника Windows:
- Удалить Все .svn
- Удалить Все, Кроме Корня .svn
- Удалить Локальные Файлы РЕПО
в Windows 7 можно просто открыть папку проекта и выполните поиск ".СВН", если скрытые файлы включены и удалить все найденные .папки svn.
САМЫЙ ЛУЧШИЙ И ПРОСТОЙ СПОСОБ
Если вы думаете, что вы могли бы выиграть с помощью простой магической команды вы потерпели неудачу! SVN действительно сложно и всегда возвращается как-то с новым сообщением об ошибке в Xcode. Рано или поздно, обещаю... так что вы должны сделать это умно!
Как вы знаете, обычная и лучшая практика в Xcode-это удаление файла на панели проекта слева. Если вы пропустили его и каким-то образом удалили его в Finder, вы в беде. Большая беда! Но вы могли бы решить и свободное время, если вы делаете это хорошо.
во-первых, вам нужно удалить ссылку SVN на файл или папку, прежде чем вы сможете удалить его на самом деле
Если бы вы могли поместить туда файл/папку из корзины или отменить последний шаг, когда вы его удалили, то...
перейдите в терминал-да, старый добрый терминал-и перейдите в это место. Лучший способ просто введите cd затем потяните папка / файл на терминал. Вы получите что-то подобное
компакт-диск /Пользователи/Имя пользователя/документы/Apps_Developing/...
вы можете проверить, где вы с
ls
команда, которая перечисляет ваши файлы.
затем вам нужно удалить ссылку svn с помощью команды SVN:
svn delete --keep-local fileName_toDelete
это приведет к удалению файла из репозитория SVN, но вы должны удалить его вручную в Finder.
ответ на удивление прост - экспортировать папку в себя! TortoiseSVN обнаруживает этот особый случай и спрашивает, Хотите ли вы сделать рабочую копию неверсионной. Если вы ответите "да", управляющие каталоги будут удалены, и у вас будет простое, неверсионное дерево каталогов.
svn exportработает нормально, но я думаю, что это:svn rm --keep-local <folder/file>Он удаляет его из локального репозитория.
Я использую rsync:
# copy folder src to srcStripped excluding subfolders named '.svn'. retain dates, verbose output rsync -av --exclude .svn src srcStripped
пользователи IDE NetBeans могут сделать это, как показано ниже:
- откройте проект SVN в IDE
выберите проект
Правой Кнопкой Мыши Подрывная деятельность Экспорт
в диалоговом окне
экспорт в папку /var/tmp / имяпроекта пресс экспорт ждать покажет полное спросит, хотите ли вы, чтобы открыть его сделать открытым на лету
теперь вы можете переключиться на Git :)
моя идея состоит в том, чтобы удалить .svn папку, а затем переместить все остальные файлы в новую папку. Это так просто, как это.
когда вы используете ОС Windows, перейдите в папку и проверьте скрытых файлов, а затем вы можете увидеть SVN папка в там. Просто удалите эту папку.
В Windows 10 нам нужно перейти к
Windows Explorer, а затем перейдите кViewи установите флажокView hidden files.затем перейдите в папку, в которой SVN связан с проводником Windows, и удалите
.svnпапку/файл.

Comments