Проблема удаления .svn каталогов в Windows XP - PullRequest
4 голосов
/ 07 января 2011

У меня, похоже, нет этой проблемы на моем домашнем ноутбуке с Windows XP, но тогда я не очень много работаю там.

На моем рабочем ноутбуке с Windows XP у меня проблемаудаление каталогов, когда у него есть каталоги, которые содержат каталоги .svn.Когда это в конце концов работает, у меня возникает та же проблема с очисткой корзины.Во всплывающем окне «Невозможно удалить текстовую базу папки: папка не пуста» или prop-base или другую папку в папке .svn

Это продолжалось после того, как я изменил конфигурацию TortoiseSVN, чтобы остановить TSVNпроцесс кэширования запускается и после перезагрузки системы.

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

«Подключенный резервный ПК» также работает на ноутбуке, и реальная проблема заключается в том, что CygwinКоманды не всегда работают.Поэтому я продолжаю думать, что точечные файлы и точечные каталоги как-то связаны как с проблемами, так и / или с резервным копированием или другим процессом, сканирующим каталоги.Но у меня закончились идеи о том, что попробовать или как определить проблему дальше.

Ответы [ 7 ]

2 голосов
/ 08 января 2011

Вам не нужно перезагружаться; просто откройте диспетчер задач и убейте TSVNCache.exe.

Это тоже безопасно. Он спроектирован так, что вы можете убить его, и при необходимости он автоматически перезапустится.

(В результате автоматического перезапуска обратите внимание, что просмотр некоторых папок SVN в проводнике, диалоговых окнах открытия файлов и т. Д. Может привести к перезапуску TSVNCache.exe. Следите за диспетчера задач.)

Черепаха SVN великолепна, но я обнаружил, что TSVNCache.exe может удерживать блокировки и иногда мешать. (Иногда оправдано, иногда нет.) В результате, для некоторых запускаемых мной автоматических сценариев я включаю команды для уничтожения TSVNCache.exe как часть сценариев, чтобы он не мешал. Это стоит делать, только если вы часто выполняете эту операцию.

1 голос
/ 08 января 2011

Вы можете попробовать несколько вещей:

  1. Поскольку вы часто получаете эту ошибку, вы можете использовать handle.exe из sysinternals, чтобы проверить, какой процесс в настоящее время имеет открытые дескрипторы для.svn\* каталог.Если handle utility сообщает вам о каком-либо процессе, попробуйте остановить этот процесс и затем удалить каталоги.

  2. Ошибка при удалении из корзины: Проще говоря, когда файл отправляется в корзинуbin после удаления фактически не удаляется, скорее, в иерархии каталогов (на уровне файловой системы) выполняется несколько манипуляций, чтобы избежать показа файла при просмотре содержимого папки.Так что, если вам удастся решить проблему, упомянутую в комментарии № 1, вы, вероятно, не получите эту ошибку.

  3. Cygwin command not working: для запуска команды cygwin в Windows требуется (в частности) cygwin1.dll, который, как известно, поставляется с другими программами (например, CopSsh, некоторые версии клиентов SVN).и т.д ...)Если в версии cygwin1.dll имеется несоответствие, команды cygwin не будут работать.Попробуйте поискать cygwin1.dll на вашем компьютере и попытаться разрешить конфликт версий (если есть).

0 голосов
/ 25 ноября 2012

Если вы хотите удалить все подпапки с именем .svn в windows затем создайте пакетный файл с таким содержанием:

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

сохранить в файл del_All_Dot_SVN_Folders.cmd . Запустить его. Вы сделали.

Благодаря http://www.axelscript.com/2008/03/11/delete-all-svn-files-in-windows/

Помните, что приведенный выше код имеет .svn, тогда как код в ссылке имеет только * svn, так что лучше иметь .svn, чтобы случайно не иметь нежелательного эффекта.

0 голосов
/ 03 мая 2012

Поскольку, похоже, вы пытаетесь экспортировать репозиторий из SVN, почему бы не использовать функциональность export с TortoiseSVN.Это удаляет все каталоги .svn из созданной «рабочей копии». Cmdline: http://svnbook.red -bean.com / ru / 1.0 / re10.html

0 голосов
/ 03 мая 2012

Я только что столкнулся с этой проблемой (или похожей)

Я использую черепаху 1.6.7

Чтобы исправить это, я пошел в «Настройки черепахи» из контекстного меню черепахи.*

оттуда выберите «Наложения значков» в виджете дерева.

На странице наложения значков я ввел путь, который меня беспокоил, в «пути исключения»: черепаха больше не удерживает это.описатель каталога.

Это каталог, который часто удаляется процессом, отличным от проводника.

0 голосов
/ 08 января 2011

Попробуйте этот ответ от меня.Хотя он дан для TortioseGit вместо TortoiseSVN, обработка такая же:

  • отключить кэш состояния (т.е. запретить TSVNCache.exe непрерывно обращаться к папкам .svn)что вы должны удалить
  • включить кэш состояния, чтобы снова получать обновленные оверлеи
0 голосов
/ 08 января 2011

ты когда-нибудь делал mkpasswd и mkgroup для cygwin?Если вы используете cygwin из командной строки, у вас наверняка будут проблемы с разрешениями файловой системы.и вы должны прочитать немного, чтобы исправить это.

http://cygwin.com/cygwin-ug-net/ntsec.html

...