2009-05-05 5 views
2

J'ai installé Darcs il y a quelques jours et j'ai un doute. Je suis le seul programmeur et je travaille habituellement sur deux ou trois instances de l'application, en faisant de nouvelles choses. Les problèmes sont dus au fait que ces instances modifient le même fichier de code source, de sorte que lorsque je les ai terminées et envoyées au référentiel principal, elles créent un conflit. Y a-t-il un moyen de gérer cela? Est-ce que je peux écrire le même fichier dans plusieurs instances sans faire de conflit en poussant vers le référentiel principal? merciConflits Darcs

Répondre

5

Tout d'abord, lorsque des modifications se produisent à différents endroits du fichier, il n'y a généralement aucun conflit lors de la fusion. Lorsque deux correctifs peuvent être fusionnés sans conflits on dit qu'ils commuent. Dans votre cas, il se trouve que vous avez modifié la même partie du fichier dans deux branches différentes. Dans ce cas, les darcs ne vous permettent pas de "pousser" le second patch qui fait le conflit.

Il existe deux façons de résoudre une telle confi- lution, mais vous devez commencer à fusionner localement les deux correctifs pour obtenir le conflit dans votre repo de travail. Pour ce faire, il suffit de retirer les correctifs du référentiel principal. Ensuite, vous devez éditer le fichier offensé et résoudre le conflit. La première façon est simple et la solution préférée, vous devez "modifier-enregistrer" le patch qui n'est pas encore sur le dépôt principal (voir l'utilisation de la commande "darcs modif-record").

L'autre solution consiste à enregistrer un patch de résolution, en appelant "darcs record" puis en poussant à la fois le patch en conflit et le patch de résolution. Cette solution a tendance à compliquer l'histoire et peut rendre certaines opérations plus tardives. Cependant, lorsque la succursale a été fortement distribuée, cette solution devient nécessaire.

Questions connexes