[BUG] git merge reports conflict when two branches add independent methods at the same location

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Git developers,

I would like to report a potential issue in Git's merge behavior, where semantically independent changes at the same position are reported as a conflict, even though they could be merged automatically.

Environment:
- git version: 2.43.0
- OS: Ubuntu 24.04 LTS

Steps to reproduce:
1. Start with a file containing only:

   public class Calculator {
   }

2. On branch A, add a new method `add`:

   @@ -1,1 +1,3 @@
   public class Calculator {
   +    public static double add(double a, double b) {
   +        return a + b;
   +    }

3. On branch B, add a new method `subtract`:

   @@ -1,1 +1,3 @@
   public class Calculator {
   +    public static double subtract(double a, double b) {
   +        return a - b;
   +    }

4. Merge branch A and branch B.

Expected result:
- The merge should succeed automatically, producing a file that contains both methods (order does not matter).  
  For example:

   public class Calculator {
       public static double add(double a, double b) {
           return a + b;
       }
       public static double subtract(double a, double b) {
           return a - b;
       }
   }

Actual result:
- Git reports a conflict and aborts the merge, requiring manual conflict resolution.

Additional information:
- Although the two changes occur at the same location in the file, they are independent additions with no semantic overlap.
- It would be desirable for Git's merge algorithm to automatically combine such changes, as the final merged state is deterministic and conflict-free.
- This limitation may impact developer productivity in real-world projects where multiple contributors extend the same class or configuration file independently.

Thanks,  
Cori




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux