Filesystem para compartilhar projetos entre plataformas

1

Nós fazemos um desenvolvimento muito multi-plataforma, então não é estranho ver caixas com Linux e 2 ou 3 versões do Windows.

Até agora eu tenho uma cópia de trabalho do SVN de nossos projetos em cada plataforma, que se torna kludgy às vezes. Estou pensando em usar uma única partição para os projetos, acessível de todas as plataformas. Parece que a única opção seria FAT32 ou NTFS (que Linux, Windows e até Mac podem ler / escrever).

Estou um pouco preocupado com a semântica do sistema de arquivos, no entanto. Por exemplo, sensibilidade a casos, propriedade e permissões.

Você pode recomendar um sistema de arquivos portátil melhor? Você acha que minhas objeções são injustificadas?

EDIT: Deixe-me esclarecer. Eu amo o SVN. O que eu estou procurando é ter uma única cópia de trabalho na minha máquina local compartilhada por todos os sistemas operacionais nele. Especialmente quando estou trabalhando remotamente, quero fazer check-out ou atualizar uma vez e usar a mesma cópia de trabalho de todos os sistemas operacionais.

    
por ggambett 25.02.2010 / 13:58

3 respostas

1

Você não pode ter a mesma partição diretamente montada em mais de um sistema (pelo menos não sem arriscar a perda de dados devido à incoerência dos caches de cada SO). Você teria que desmontar o disco em um sistema operacional e montá-lo em outro, o que é quase nada melhor do que o svn commit / update.

Para o acesso compartilhado real, você deve usar o compartilhamento via rede e, em seguida, o sistema de arquivos não importa muito (o disco nunca é tocado diretamente por mais de um sistema operacional host).

Para compartilhar entre o Linux e o OS X, você pode usar o NFS, que preserva a maior parte da semântica do sistema de arquivos subjacente e, comparado ao Samba, é rápido e fácil.

A única incompatibilidade real no OS X < > O compartilhamento Linux é que nomes de arquivos não-ASCII no OS X devem usar UTF-8 em decomposição (por exemplo, ö deve ser escrito como dois pontos de código: o e ¨). O Linux não se importa, então a solução é sempre criar e verificar esses arquivos no OS X.

Se você quer compatibilidade com o Windows, então você terá que banir o uso de links simbólicos. Eles são teoricamente possíveis no NTFS, mas não sobreviverão a nenhum compartilhamento de rede.

    
por 25.02.2010 / 20:08
0

Você pode obter drivers que permitem Windows e Mac para ler partições EXT2 ou EXT3, o que pode ser uma alternativa.

Além disso, se você tiver vários desenvolvedores trabalhando na mesma base de código, você realmente deve impor o controle de versão. Se você está tendo problemas com o Subversion, talvez queira dar uma olhada em git . Ele é distribuído (o que significa que não há mais um servidor central hospedando a cópia única da base de código) e tem um suporte muito melhor para ramificação e mesclagem. Está disponível para todas as principais plataformas de desenvolvimento.

    
por 25.02.2010 / 15:23
0

O sistema de arquivos que você usa não importa se você estiver usando o controle de origem. Se um desenvolvedor obtiver apenas os arquivos necessários para trabalhar em um projeto a partir de um sistema de controle de versão, seu cliente criará automaticamente os arquivos e diretórios necessários usando o sistema de arquivos em uso em sua máquina. Se você tem arquivos que vivem fora do controle de origem, dê uma olhada no Samba Isso permitirá que você use um servidor de arquivos Linux para configurar compartilhamentos de rede que podem ser acessados a partir do Linux, Mac ou Windows. Se seus servidores principais forem o Windows, você ainda poderá configurar compartilhamentos neles e se conectar usando clientes Linux e Mac. Para informações sobre como conectar-se a compartilhamentos do Samba no Mac, consulte este link .

    
por 25.02.2010 / 17:17