Lorsque vous utilisez un outil tel que git pour fusionner deux fichiers, un conflit peut être détecté et ajouté au résultat de la fusion.
Une fusion de ces deux fichiers:
mon fichier:
Common line of code 1
Common line of code 2
my lines
Common line of code 3
Common line of code 4
leur dossier:
Common line of code 1
Common line of code 2
their lines
Common line of code 3
Common line of code 4
entraînerait:
Common line of code 1
Common line of code 2
<<<<<<< Mine
my lines
=======
their lines
>>>>>>> Theirs
Common line of code 3
Common line of code 4
Voir Lignes de marqueur de conflit
La résolution de ce conflit avec le mien créerait ce fichier:
Common line of code 1
Common line of code 2
my lines
Common line of code 3
Common line of code 4
La résolution de ce conflit avec la leur créerait ce fichier:
Common line of code 1
Common line of code 2
their lines
Common line of code 3
Common line of code 4
L'objectif de ce défi est d'écrire un fichier source qui contient un conflit et qui se compile / s'exécute toujours.
Écrivez un fichier source qui:
- contient une valide, dans les deux sens, conflit marqué par les marqueurs appropriés de conflit de patch (
<<<<<<<
,=======
,>>>>>>>
) de la mine et leurs descripteurs de fichiers après que les marqueurs sont facultatifs. - compile / s'exécute sans erreurs / avertissements si les marqueurs restent une partie de la source
- compile / exécute sans erreurs / avertissements si le conflit est résolu en utilisant le mien
- compile / s'exécute sans erreurs / avertissements si le conflit est résolu en utilisant les leurs
- affiche "Hello Conflict" lors de la compilation / exécution du fichier en conflit
- affiche "Hello Mine" lors de la compilation / exécution de la version mine
- affiche "Hello Theirs" lors de la compilation / exécution de la leur
Les marqueurs doivent être situés dans le fichier source de manière à ce que kdiff3 reconnaisse le conflit.
Les failles standard sont interdites.
Le code le plus court gagne.
Le score est la longueur de la source en conflit