Descrição do problema / ambiente
Atualmente, temos cerca de 100 GB de arquivos CAD (90k arquivos, 6k diretórios) armazenados em alguns repositórios do Subversion. Parece um incômodo desnecessário manter esses dados binários no Subversion. Também é um fardo para as pessoas fazerem o check-in de novos arquivos, já que precisam adicionar & finalize um diretório antes que eles possam confirmar. A única "vantagem", sendo capaz de apenas clicar com o botão direito e "atualizar", tem a penalidade de 2 cópias de cada arquivo sendo armazenado (como o svn funciona), e sendo muito lento. Não há histórico de versões significativo para os arquivos - ou seja, os arquivos CAD não são modificados ainda mais, eles são adicionados ou, nesse caso, não são dados com os quais nos importamos - apenas os atuais , estado mais recente ou HEAD ... exportando os dados do SVN é simples. Editar os arquivos não é realmente parte do fluxo de trabalho e é mais provável que seja acidental, e envolve 5+ sistemas CAD, então não tenho certeza se um sistema do tipo "PLM" seria realmente ideal ou garantido.
O ambiente atual do servidor de arquivos é o Windows Server 2003 - que provavelmente mudará em 6 meses (para o servidor 2008 R2 + big RAID 6 ou um NAS, provavelmente o servidor 2008 R2 envolvido de qualquer forma)
Devido ao grande tamanho, ninguém realmente verifica todas as partes (ou mesmo um determinado diretório) com muita frequência e já existe um compartilhamento de rede somente de leitura que se atualiza uma vez por dia a partir do Subversion. O processo de atualização automática quebra o tempo todo (a cópia de trabalho do svn fica suja ou em mau estado e precisa ser limpa). É assim que a maioria dos usuários acessa essas partes, de modo que já estão bastante acostumadas a acessar a partir do compartilhamento. É basicamente uma mudança no modo como as peças são adicionadas.
Quais novas opções de fluxo de trabalho existem? Estou faltando alguma coisa?
Gostaria de atualizar nosso fluxo de trabalho para lidar com arquivos CAD. A corrente na consideração da tabela está indo para um compartilhamento de rede do windows em linha reta. O ideal é manter esse comportamento de somente leitura, mas obviamente as pessoas precisam de um lugar para despejar novos arquivos e adicioná-los ao compartilhamento. Se o compartilhamento de rede se tornar a principal fonte de dados, será importante que as pessoas não abram, editem e salvem os arquivos o tempo todo. Eu suponho que a importância disso é discutível, mas geralmente, se editando, o contrato é que eles copiam para o PC, então a cópia "principal" de um determinado arquivo não é modificada para todos os outros.
Não vale a pena tentar separar os arquivos adicionados ao acessá-los? (para manter o acesso somente leitura do compartilhamento)
Definir o compartilhamento para gravar, mas não modificar, não é necessariamente uma opção (se a manutenção for somente leitura é um requisito básico), como sistemas CAD como Pro / ENGINEER, pegue o arquivo CAD XYZ.prt e salve um número. .. Por exemplo. XYZ.prt.1, XYZ.prt.2, etc, o que resultará em muitas cópias se as pessoas estiverem salvando acidentalmente no compartilhamento.
Até agora eu tenho uma idéia confusa de que posso escrever algo para manipular uma "caixa suspensa" gravável que copie para o compartilhamento, e por exemplo ... negue arquivos zip e se recuse a sobrescrever quaisquer arquivos. Isso me deixa com o dever manual de excluir quaisquer arquivos (ocasionalmente necessários, mas raros - ou pode ser dado a um grupo seleto de usuários). Talvez, apesar de sua imperfeição, o Subversion não seja terrível ... Estou procurando outras opiniões aqui. O que eu não quero é mudar o fluxo de trabalho de todos apenas para que a situação funcione mais para mim ou para os usuários (30 a 40 usuários).