Notre code est en SVN. Nous développons en utilisant Visual Studio et le plugin AnkhSVN. Ayant utilisé VSS avant SVN j'étais habitué à l'idée de verrouiller les fichiers afin que les autres utilisateurs ne les éditent pas (en fait, je pensais que c'était le point principal du contrôle de source, pour éviter les pertes de données de ces conflits).Que devrais-je vraiment * faire * dans AnkhSVN lorsque deux personnes éditent le même fichier sous SVN
On m'a dit que cela arrive rarement et que les cas où vous ne pouvez pas travailler parce qu'un autre dev vous bloque sont plus fréquents (ce qui ressemble à un principe qui pourrait s'appliquer uniquement à un certain sous-projet). Mais de toute façon, SVN est meilleur et nous l'utilisons.
Donc, quand je modifie un fichier, que je le vérifie et que je découvre que l'autre utilisateur l'a édité aussi, que dois-je faire en réalité?
Sûrement il y a un meilleur moyen que d'enregistrer une copie de mon fichier, annuler les changements, mettre à jour à partir du serveur, puis fusionner mes modifications avec winmerge? Quand je fais un clic droit sur le fichier et que je clique sur 'fusionner', on me dit que je devrais mettre à jour en premier, donc ce n'est évidemment pas ce dont j'ai besoin.
.
Mise à jour: réponse partielle
OK, on dirait que je viens de frapper la mise à jour, puis SVN fusionne les modifications non conflictuelles automatiquement, et devrait laisser AnkhSVN avertir des modifications en conflit pour permettre une sorte de résolution. Est-ce que quelqu'un sait comment cela fonctionne dans AnkhSVN - ce que je ferais réellement?
(sinon je vais essayer moi-même, accepter la réponse actuelle et mettre à jour cette question avec la seconde moitié pour la postérité).
D'après mon expérience, certains fichiers sont susceptibles de fusionner conflits, comme les scripts sql ou les fichiers de chaînes de localisation de langue. Dans ces fichiers, nous définissons la propriété svn: needs-lock subversion. Cela forcera les développeurs à verrouiller exclusivement le fichier avant de le modifier, et personne ne pourra le modifier entre temps. De Ankh svn vous devriez être capable de faire un clic droit sur le fichier et modifier les propriétés subversion. –
Oui, vous avez raison, il y a en effet des fichiers qui sont susceptibles de fusionner des conflits pour des modifications mineures. Par exemple, les fichiers de concepteurs de formulaires dans .NET/C#, où une modification mineure peut réorganiser beaucoup de code. –
Je sais ce que vous voulez dire, mais je pense qu'il devrait être plus évident de votre réponse qu'il n'est pas nécessaire d'enregistrer manuellement vos modifications ailleurs, de les annuler, de les mettre à jour et de les fusionner manuellement. Juste en appuyant sur la mise à jour est tout ce qui est nécessaire. –