Случайно я создал файл "-" (просто минус) в каталоге и фиксировал его. Я должен удалить его потому что его порождение ошибки на других машинах: svn: не Может преобразовать строку от 'UTF-8' до собственного кодирования: svn:? \226? \128? \147
Я могу удалить его из локального каталога с помощью "комнату-i *" или с Python "os.remove ('\xe2\x80\x93')", но те методы не работают с "svn комната".
Как удалить такой файл из репозитория SVN?
Вы можете попробовать svn rm ./-
Это может быть не минус, но похожий символ.
try svn rm - -
-
означает «остановить чтение параметров».
Обычно нужно завершить список опций командной строки с помощью маркера --
.
Попробуйте что-нибудь вроде svn rm -- -
.
То же самое, если вы хотите удалить каталог из файловой системы: rm -r -- -
.
В некоторых случаях (например, на консоли) вы не сможете скопировать / вставить нечетный символ. В этой ситуации вы можете использовать подстановку файлов. Рекомендуется выполнить ls
перед rm
, чтобы убедиться, что вы не включаете в удаление что-то, что хотите сохранить.
Любое односимвольное имя файла:
ls -l ?
rm ?
или любое односимвольное имя файла, которое не является буквенно-цифровым символом или дефисом:
ls -l [^a-zA-Z0-9-]
rm [^a-zA-Z0-9-]
Другой версией (с учетом локали) будет:
ls -l [^[:alnum:]-]
rm [^[:alnum:]-]
Вы можете комбинировать другие списки персонажей и классов в дополнение к большему количеству подстановок и конкретных персонажей.
Удалите любой файл с трехсимвольным именем, которое не начинается с «m», «s» или «y», имеет любой второй символ и заканчивается на «1» или «9»:
rm [^msy]?[19]