I have a file which has conflicts.
REGION lifetime counter
    (*
    //for test purposes lifetimecounter goes to movement detection in set delayed outputs
    IF #O AND NOT #fp_lifetime
        AND #CCF.config.se_operating_counter_enable.value
        AND #CCF.status.s_active
    THEN
        #CCF.status.av_lifetime.value += 2;
    END_IF;
    #fp_lifetime := #O;
    *)
<<<<<<< HEAD
    "S-B"
=======
    "S-A"
>>>>>>> base/master
END_REGION
Delete: <<<<<<< HEAD, "S-B", ======= and >>>>>>> base/master
After editing this file in NOTEPAD, resolving the conflict, I execute the command:
git diff <path\to\the\file>
In most cases I get the right result:
$  git diff <path\to\the\file>
diff --cc <path\to\the\file>
index 286d51c,b189c82..0000000
--- a/<path\to\the\file>
+++ b/<path\to\the\file>
However, sometimes I also receive the following, and here the reason is unknown:
$  git diff <path\to\the\file>
diff --cc <path\to\the\file>
index 286d51c,b189c82..0000000
--- a/<path\to\the\file>
+++ b/<path\to\the\file>
@@@ -485,7 -485,7 +485,6 @@@ BEGI
            END_IF;
            #fp_lifetime := #O;
            *)
-           "S-B"
-       END_REGION
+           "S-A"
 -      END_REGION
Where do the different outputs come from if I always execute the same thing in the file?
Final state:
REGION lifetime counter
    (*
    //for test purposes lifetimecounter goes to movement detection in set delayed outputs
    IF #O AND NOT #fp_lifetime
        AND #CCF.config.se_operating_counter_enable.value
        AND #CCF.status.s_active
    THEN
        #CCF.status.av_lifetime.value += 2;
    END_IF;
    #fp_lifetime := #O;
    *)
    "S-A"
END_REGION
 
     
    