Announcement

Collapse
No announcement yet.

Bug with BC3 and SVN Merge

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • mschier
    started a topic Bug with BC3 and SVN Merge

    Bug with BC3 and SVN Merge

    Dear Support Team,

    in our company we use BC3 (3.3.7) as Merge Tool for TortoiseSVN and C++ code.

    In case TortoiseSVN reports a merge problem, entering BC3, quite often the conflicts are "solved".
    Generally, this works fine. However, we now found a real problem with merging in case a comment was changed both in trunk and in a branch.

    When we use the default setting in the Session Settings that comments are unimportant, then a wrong "merge" may happen as shown in the attached PDF.

    Actually, I consider this merge behavior in BC as a bug. Even if a comment is not important, I don't understand why when two persons change a comment, BC suggests none of the two newer versions but keeps the old one. Also, as shown in the constructed example, the final result is not a comment any longer and thus should not be considered unimportant.

    We had such problems in real code, and sometimes it also merged old and new comments so that the comment text itself was inconsistent and possibly wrong!

    Thanks!

  • Aaron
    replied
    No progress yet. We're still tracking it, but any changes to this area of the application are not small due to how we're currently handling it. It's not as easy a change as it may appear.

    Leave a comment:


  • mschier
    replied
    Hi Aaron,

    Could you send me the state to this issue?

    Leave a comment:


  • Aaron
    replied
    We have been pretty busy with implementing 64bit support and a few other big features. We haven't swung around to Text Merge enhancements yet, but it's still on our wishlist. I would still recommend disabling Ignore Unimportant, or alter the session settings to consider more text as Important, in order to include it as part of the merge.

    Leave a comment:


  • mschier
    replied
    one year later

    Could you send me the state to this issue?

    Leave a comment:


  • Aaron
    replied
    Hello,

    This is still an open wishlist entry. We have limited resources we are able to direct with each release, and this is not something we've been able to review or assign yet.

    Leave a comment:


  • mschier
    replied
    Unfortunately, I had to find the bug in the Beta 4.0 still exists.

    Could you look into this?

    Leave a comment:


  • mschier
    replied
    Thanks!

    I look forward to hearing from you soon.

    Leave a comment:


  • Aaron
    replied
    That's something we can look into. I'll add these notes to our entry on the subject.

    Leave a comment:


  • mschier
    replied
    Originally posted by Aaron View Post
    Thanks for the feedback. The Ignore Unimportant toggle defaults to off, but once it is toggled on once it is sticky and would be remembered for any future sessions. It's something we can look into, but I would recommend toggling off Ignore Unimportant Differences for now to see if there are any conflicts before saving a merge output.
    If somebody have toggled on Ignore Unimportant Differences, could you implement a message by saving that reminds him to toggled off Ignore Unimportant Differences?

    Leave a comment:


  • Aaron
    replied
    Thanks for the feedback. The Ignore Unimportant toggle defaults to off, but once it is toggled on once it is sticky and would be remembered for any future sessions. It's something we can look into, but I would recommend toggling off Ignore Unimportant Differences for now to see if there are any conflicts before saving a merge output.

    Leave a comment:


  • mschier
    replied
    Originally posted by Aaron View Post
    Detecting and parsing syntax is a large project and not something we will likely be able to implement soon. Adding this will help resolve more conflicts automatically, but the current version does not mis-detect this case; it is marking it as a conflict and asking for user interaction to help resolve it.
    Ok, I understand that.

    But could you change than the default settings?
    If you have the default settings after the installation, session settings -> comments are unimportant and the user choose "ignore unimportant differences" then a wrong "merge" may happen and the User donīt get any informations/warnings! (screen2)

    Leave a comment:


  • Aaron
    replied
    Detecting and parsing syntax is a large project and not something we will likely be able to implement soon. Adding this will help resolve more conflicts automatically, but the current version does not mis-detect this case; it is marking it as a conflict and asking for user interaction to help resolve it.

    Leave a comment:


  • mschier
    replied
    When will you detect syntax groupings of lines?

    Leave a comment:


  • Aaron
    replied
    Hello,

    Something to clarify is that BC3 places:
    Code:
    {
    
    delete (1);
    
    }
    into the output pane, but marks this as a Conflict that should be resolved by the user before it is saved. An unresolved conflict is not currently a suggested output. The output should not be saved until all conflicts are resolved manually. The output pane defaults to the Ancestor side per line in the case of a conflict where a suggested line cannot be picked. Since the \* lines can be resolved (they are not a conflict, but a deleted on right Difference), the right side is picked. It is then included as part of the conflict section since it is difference within the context of a Conflict (the "delete (1);" line).

    If BC3 were able to detect syntax groupings of lines, we might be able to improve this automatically, but we currently only support line by line.

    Leave a comment:

Working...
X