public inbox for git@vger.kernel.org 
 help / color / mirror / Atom feed
* [BUG] git merge reports conflict when two branches add independent methods at the same location
@ 2025-09-12 13:37 Guo Tingsheng
  2025-09-12 22:57 ` Elijah Newren
  0 siblings, 1 reply; 3+ messages in thread
From: Guo Tingsheng @ 2025-09-12 13:37 UTC (permalink / raw)
  To: git@vger•kernel.org

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-09-13 19:24 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-12 13:37 [BUG] git merge reports conflict when two branches add independent methods at the same location Guo Tingsheng
2025-09-12 22:57 ` Elijah Newren
2025-09-13 19:24   ` Ben Knoble

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox