2010-03-11 6 views
1

Je voudrais que lorsque je consulte un fichier, personne d'autre ne puisse le modifier jusqu'à ce que je le revienne. Existe-t-il un système de contrôle de version qui me permet de le faire? J'utilise actuellement Subversion et je sais qu'il a la fonction 'lock' mais je veux qu'il le fasse automatiquement sans que je doive le demander sur chaque fichier sur lequel je travaille.Quels systèmes de contrôle de version permettront à un seul utilisateur de travailler sur un fichier à la fois?

+6

Pourquoi voulez-vous faire une telle chose? Permettre le travail simultané est l'une des meilleures caractéristiques du contrôle de version. Perforce peut verrouiller toute une liste de changements à la fois assez facilement: http://www.perforce.com/perforce/doc.091/manuals/cmdref/lock.html –

+3

@ le vote proche: je dirais que VCS est assez lié à la programmation – Erik

+0

@Carl convenu. C'est l'un des triomphes du contrôle de version moderne.Avant que les systèmes de contrôle de version ne commencent à calculer automatiquement les différences et fournissaient un mécanisme d'auto-fusion ou de résolution manuelle des conflits, le mécanisme "extraction et verrouillage" était le seul disponible, et cela posait VRAIMENT des problèmes dans certaines équipes. les gens touchent les mêmes fichiers. – Dathan

Répondre

0

Peforce fait quelque chose de proche.

0

Microsoft SourceSafe (beurk).

4

Il y en a beaucoup.

Source Safe est connu pour ne pas fonctionner autrement.

Serena Les dimensions peuvent être configurées de cette manière. TFS vous permettra de faire un checkout exclusif.

La plupart des systèmes de contrôle de source vous permettront de le faire, certains sont construits de cette façon, d'autres ont la fonctionnalité au cas où il est nécessaire. Cependant, si vous travaillez dans une équipe, cela ne fera que nuire au progrès. Etre capable d'avoir beaucoup de gens travaillant sur le même fichier en même temps est non seulement un gain de temps mais aussi une utilisation plus efficace des ressources et accélère le travail. Vous ne devez utiliser le verrou exclusif que dans des circonstances spéciales, où personne ne peut vraiment travailler sur le fichier.

+0

Source Safe prend en charge les deux méthodes à partir de SourceSafe 2005. –

+0

J'ai utilisé à l'origine source sûre comme contrôle de version, donc c'est d'où j'ai eu l'idée. Je l'aimais mieux de cette façon sachant que je n'aurais pas à m'inquiéter que mon code soit écrasé ou perdu en fusionnant quelque part. Après avoir lu les commentaires ici, il semble que cela fonctionne mieux pour tout le monde de ne pas verrouiller les fichiers. Généralement, je travaille dans une petite équipe de 3 personnes, donc je pense que le verrouillage ne nous retiendrait pas beaucoup. – chadley

+0

@chadley: J'ai été dans de petites équipes où le verrouillage était un problème. Je soupçonne que cela dépend plus de la nature du travail; le nouveau développement est probablement plus séparable par le verrouillage que les corrections de bogues urgentes. Et, oui, la fusion des VCS peut être effrayante au début et prendre un peu de temps pour s'y habituer. Essayez-en un si vous le pouvez, et voyez comme vous l'aimez après l'avoir utilisé pendant un mois ou deux. C'est ce qui m'a convaincu. –

2
  • CVS

  • Clearcase

-

de VCS Typiquement modernes semblent désapprouver le modèle de verrouillage du développement, préférant un modèle de fusion.

edit: La fusion SVN est - à mon avis - cassée. Une fois que vous avez utilisé ClearCase/Mercurial/git fusion ... vous apprendrez vite. :)

+0

CVS fonctionne par défaut dans un rôle de fusion. Vous pouvez mettre en place des verrous si vous le souhaitez, et il est possible d'utiliser l'ancienne fonctionnalité RCS pour verrouiller un fichier, mais je ne me souviens même pas si c'est disponible sauf en tant qu'outil d'administration. –

+0

@David: D'accord. Mais CVS * possède * des fonctionnalités de verrouillage d'un tri (checkouts réservés), c'est pourquoi je l'ai ajouté. 'cvs admin -l' je comprends. –

1

L'ancien IBM "CMVC" outil fonctionne de cette façon, je pense. Cela me rend mal à l'aise et vaguement triste d'y penser.

+1

+1 pour être drôle et triste. –

0

RCS utilise les verrous comme approche principale de la gestion des modifications. Vous extrayez le fichier, et si vous avez l'intention de le modifier, vous le verrouillez. Vous pouvez forcer un remplacement sur le verrou de quelqu'un d'autre, mais si vous le faites, vous devrez les supprimer. Voir par exemple ce best-practices discussion pour plus d'informations.

+0

RCS est également l'un des plus anciens VCS autour. Il fonctionne sur une base par fichier, et ne prend pas facilement en charge un référentiel central, ni ne propose une fusion de type DVCS. –

+0

@ David Thornley: Je ne préconise pas RCS vs un VCS moderne, mais il répond à la question - si vous voulez le verrouillage comme une fonctionnalité majeure par défaut, il est là. D'autres ont déjà fait remarquer que si vous cherchez le verrouillage comme une caractéristique clé, vous résolvez probablement le mauvais problème. –

Questions connexes