Почему я получаю ошибку разрешения файла Windows (IO Error 13) с Android SDK при записи в файлы, начинающиеся с точки?

1

Запуск Titanium Appcelerator 0.8.1 на виртуальной машине Windows XP с Android SDK 2.1

При запуске приложения для сборки/установки, получив следующую ошибку (последняя строка сломана для отображения здесь):

[TRACE] f = open(os.path.join(dest, dest_file), "w")
[TRACE] IOError: [Errno 13] Permission denied:
  'C:\\Documents and Settings\\firstname.surname\\Desktop\\MyApp\\build\\android\\.classpath'

Удаление .classpath приводит к созданию .classpath, но ошибка просто перемещается в следующий файл, на который ему приходится писать.

Файлы находятся в репозитории git, который выдается через msysgit, но та же ошибка возникает, когда файлы копируются непосредственно с сервера git на компьютер Windows. К сожалению, приложение Titanium dev не будет перестраивать пакет Android для существующего приложения, если файлы build\android отсутствуют, поэтому не возможно просто не проверять их на git.

У файлов есть правильные разрешения - они доступны для записи текущей учетной записью пользователя, не имеют установленного только для чтения флага (проверено через атрибут) и задали параметры доступа и владельца через Security/Расширенные диалоги о файлах и каталогах (и здесь проверяется администратором Windows IT)

Насколько я могу судить, ничто другое не открывает файл (возможная причина IOError 13).

Что может быть причиной здесь? Может ли git быть виновником?

Теги:
appcelerator
titanium

1 ответ

2
Лучший ответ

Отвечая на мой собственный вопрос, если кто-то другой получит ту же проблему:

  • удаление скрытого флага (с помощью attrib -H) устраняет проблему с разрешением файла.

(флаг Hidden был установлен msysgit, чтобы соответствовать скрытой природе dotfiles в Unix)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню