Recebo esse status "obstruído" nos diretórios quando atualizo para um CMS (WordPress ou Drupal) por meio da interface da Web - o aplicativo não sabe que seu código é na verdade uma cópia de trabalho do subversion; portanto, ao atualizar um plug-in, ele remove os plug-ins diretório (incluindo o .svn
diretório) e cai em um novo diretório da nova versão do plug-in.
Para recuperar esse .svn
diretório, no diretório que contém o diretório obstruído. Eu faço um checkout com --force
. Por exemplo, se plugin_dir
estiver marcado como "~", no diretório pai, eu corro:
svn checkout --force http://svn.server.hostname/path/to/repo/and/plugin_dir
Todos os arquivos já existentes são deixados em paz e marcados com "E" na saída do comando checkout (marcado como "M" quando executo svn status
).
Às vezes, tenho que voltar e adicionar arquivos novos com a atualização; ou excluir arquivos que devem ser excluídos como parte da atualização, pois eles reapareceram quando eu fiz o checkout. Acredito que estes estejam marcados como "A" no checkout, mas um subsequente svn status
não os mencionará.