Pode arquivos “group” do Subversion?

2

Um cliente nosso quer introduzir o bloqueio e o controle de versão dos dados de nossos aplicativos. Nós tivemos a ideia de usar o subversion / tartaruga para fazer isso. Isso parece simples e direto, mas temos uma natureza especial baseada na natureza de nossos arquivos:

Um "banco de dados" (nós o chamamos de documento) em nosso aplicativo consiste em vários arquivos, que se referem uns aos outros por um padrão de nome dentro do mesmo diretório. Mais que um "banco de dados" pode existir dentro de um único diretório. Se um usuário fizer check-out de um arquivo (âncora), todos os outros arquivos pertencentes a esse banco de dados também deverão ser retirados. O mesmo se aplica ao checkin. Os arquivos contêm dados binários.

Exemplo: Um diretório contém 2 "bancos de dados":

  • DB1.xxx, A _DB1.xxx, B _DB1.xxx
  • DB2.xxx, A _DB2.xxx, B _DB2.xxx

Se DB1.xxx estiver com check-out (bloqueado), A_DB1.xxx e B_DB1.xxx também devem ser bloqueados, mas os arquivos do DB2 podem ser verificados por outra pessoa. Em seguida, trabalhamos na cópia local e depois as alterações podem ser verificadas ou canceladas pelo usuário.

Isso é possível usando subversão? Como? Devemos usar outra coisa?

Eu sei que a organização dos nossos arquivos, etc., poderia ser melhor - mas atualmente não é possível mudar isso.

    
por RED SOFT ADAIR-StefanWoe 05.01.2010 / 14:32

1 resposta

2

O que você está tentando fazer deve ser possível usando um gancho de pré-consolidação de subversão. Dentro do hook script você pode verificar a lista de arquivos a serem confirmados e vetar o commit (escrever uma mensagem de erro significativa para stderr) se o conjunto de arquivos estiver errado.

Eu não vi ninguém publicar um script de gancho para fazer nada perto disso, então você terá que rolar o seu próprio. Para começar, leia as seções livro de subversão em writing e implementando scripts de gancho e alguns exemplos de scripts de gancho

    
por 05.01.2010 / 17:49

Tags