2010-02-19 12 views
0

J'ai une question qui ne très probablement pas une réponse unique et claire. Dans l'équipe, nous utilisons le SVN, beaucoup de gens utilisent le git-svn (le traitant comme une fantaisie client SVN).contrôle de version des métadonnées des utilisateurs

Nous nous stockons des projets publications connexes, rapports, documents dans le référentiel sous disons trunk/Documents/*. Chacun des utilisateurs crée ses propres notes, annotations, etc. liées à un document donné - disons trunk/Documents/doc1.txt. Ainsi, à la fin nous avons N utilisateurs ayant doc1.txt.metadata.

Quelles sont vos recommandations pour stocker ces métadonnées? Branches pour les métadonnées de chaque utilisateur?

Répondre

2

Les fichiers vont différer par l'utilisateur, la manière la plus propre que je peux penser est de garder les fichiers texte comme doc1.txt.metadata.username. Garder des branches séparées par métafichier utilisateur me semble compliqué et difficile à utiliser dans un usage quotidien.

Il serait être l'idée d'automatiser cette utilisation d'un pré et/ou post-commit hook, mais il est discouraged in the SVN book:

Alors que les scripts de crochet peuvent faire presque tout, il y a une dimension dans laquelle Les auteurs de scripts de hook doivent montrer une contrainte: ne modifiez pas une transaction de validation à l'aide de scripts hook. ... Au lieu de modifier la transaction, vous devez simplement valider la transaction dans le hook de pré-validation et rejeter la validation si elle ne répond pas aux exigences souhaitées. En prime, vos utilisateurs apprendront la valeur d'habitudes de travail prudentes et axées sur la conformité.

La chose la plus simple pourrait consister à établir doc1.txt.metadata.username en règle générale, et d'écrire un script pre-commit qui rejette toute commits de .metadata fichiers sans le nom d'utilisateur actuel comme l'extension.

Questions connexes