Por que recebo um erro de permissão de arquivo do Windows (Erro IO 13) com o Android SDK ao gravar arquivos que começam com um ponto?

StackOverflow https://stackoverflow.com/questions/2118606

Pergunta

Executando o Titanium Appcelerator 0.8.1 em uma máquina virtual Windows XP, com Android SDK 2.1

Ao executar o aplicativo build/install, recebo o seguinte erro (última linha quebrada para exibição aqui):

[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'

A remoção de .classpath resulta na criação de .classpath, mas o erro simplesmente passa para o próximo arquivo no qual deve ser gravado.

Os arquivos estão em um repositório git, com check-out via msysgit, mas o mesmo erro ocorre quando os arquivos são copiados diretamente do servidor git para a máquina Windows.Infelizmente, o aplicativo de desenvolvimento Titanium não reconstruirá o pacote Android para um aplicativo existente se os arquivos build\Android estiverem faltando, portanto, não é possível simplesmente não verificá-los no git.

Os arquivos parecem ter as permissões corretas - são graváveis ​​pela conta do usuário atual, não têm o sinalizador somente leitura definido (verificado por meio de 'attrib') e definiram as opções de acesso e o proprietário por meio das caixas de diálogo Segurança/Avançado em os arquivos e diretórios (e verificados por um administrador de TI do Windows aqui)

Pelo que sei, nada mais tem o arquivo aberto (uma possível causa do IOError 13).

Qual poderia ser a razão aqui?Git poderia ser o culpado?

Foi útil?

Solução

Respondendo à minha própria pergunta caso alguém tenha o mesmo problema:

  • removendo a bandeira oculta (com attrib -H) corrige o problema de permissão de arquivo.

(o sinalizador Hidden foi definido por msysgit, para corresponder à natureza 'oculta' dos dotfiles no Unix)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top