Dans quelle mesure la dépendance des espaces blancs de Python interagit-elle avec le contrôle de source en ce qui concerne la fusion?

StackOverflow https://stackoverflow.com/questions/119399

Question

Je me demande si la nécessité de modifier l'indentation du code pour ajuster l'imbrication a des effets néfastes sur la fusion des modifications dans un système comme SVN.

Était-ce utile?

La solution

Cela fonctionne bien tant que tous les membres du projet ont accepté d'utiliser le même style d'espaces (espaces ou tabulations).

Mais j'ai déjà vu des cas dans lesquels un développeur convertissait un fichier entier d'espaces en onglets (je pense qu'Eclipse avait cela comme fonction, liée à Ctrl + Tab!), ce qui rend la détection des différences presque impossible.

Autres conseils

J'ai utilisé python avec SVN et Mercurial, et je n'ai pas de soucis à se confondre.

Tout dépend de la façon dont la différenciation est effectuée - et je suppose que c'est caractère par caractère, ce qui indiquerait la différence entre un niveau d'indent et un autre.

En règle générale, les systèmes de contrôle des sources fusionnent ligne par ligne. J'ai constaté que la fusion de code Python n'était pas différente de la fusion de tout autre code source raisonnablement en retrait. Si un programmeur encapsule un bloc de code dans une instruction si (en mettant en retrait le bloc entier) et qu'un autre programmeur modifie quelque chose à l'intérieur du bloc, il y aura un conflit de fusion. Heureusement, le conflit dans ce cas est très facile à résoudre.

Si vous utilisez un outil de fusion externe, celui-ci peut prendre en charge des algorithmes de fusion textuels plus détaillés prenant en compte automatiquement le scénario ci-dessus.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top