No announcement yet.

Start 3-way-merge from compare session

  • Time
  • Show
Clear All
new posts

  • Start 3-way-merge from compare session

    Cirrus should offer a possibility to make a 3-way-merge out of a compare session [and vice versa].

    (1) My use case
    When browsing revision history of an archive I often do diffs between tip revisions of branches made by colleagues and the base revisions of the branches. When I find a change worth to merge into my working copy I'd like to do this immedately. To do this I currently need to exit the diff and start a merge from scratch, find the interesting sections again and merge them.

    => Suggestions:
    (2) Compare session => 3-way-merge session
    When being in compare session the user enables the button 'merge' (it's not the center-pane button he knows from the common 3-way-merge session, that's important to be consistent to (3)). Then Cirrus goes into 3-way-merge. Left-pane stays left-pane, right pane becomes center pane, right and merge-result panes are empty.

    (3) 3-way-merge session => Compare session
    Being in 3-way-merge session the user disables the button 'merge'. Then Cirrus should go into compare session. Left-pane stays left pane, center-pane becomes right pane.
    Last edited by AlexMannW; 04-Feb-2008, 02:22 PM.

  • #2

    (2) I don't understand how you can have a 3-way merge with the right pane empty? That is not even a true 2-way merge let alone a 3-way merge. It also fails to utilize the auto-merge capabilities in BC3. If a Diff to Merge transition were possible, I would expect it to be a file compare to a 2-way merge (with center pane blank).

    (3) Likewise, if a Merge to Diff transition were possible, I would expect it to compare the left and right panes in the Text Compare window, not the common ancestor from the center pane.
    BC v4.0.7 build 19761


    • #3
      The way I understand it, Alex would:

      (2) Fill the right pane with his working copy of the file, merge in the colleagues' changes, and then save the output over his file.

      (3) Then, when finished merging the interesting code into his working copy, return to the same diff he was reviewing.
      Tim T Scooter Software


      • #4
        Thanks, Tim... I just couldn't wrap my head around it... It makes sense now.

        Thanks for working so hard to understand your user base. You've got a tough job finding the right balance between providing the functionality that will make BC3 as useful as possible to each individual, yet keeping it simple enough not to be confusing to the average user.
        BC v4.0.7 build 19761


        • #5
          I agree with Michael, maybe my use case is a little bit special.

          I found a way now to achieve my goal with the current cirrus release: I simply call cirrus with the option /mergeoutput=<working_file> when doing a diff out of my revision control system.

          So thank's a lot for commenting.

          But I'm still curious: Is there a technical reason why merge and compare are so strictly seperated in cirrus? Have you guys every thought about a button to enable switching on/off the merge result pane and so switching between merge and compare sessions?


          • #6

            I just saw the new 445-release and the new features:

            - Text Compare
            - Added "Merge in New View" command

            - Text Merge
            - Output window can now be undocked using the View->Output Window command.
            - Added "Compare Left/Right To Output In New View" commands.

            => That's the thing I thought of. Thank's a lot! I'll be testing them...


            • #7
              We had to retract the "undocked output pane" option at the last moment, and it was inadvertently included in the change log. I've now removed it from the change log.

              Sorry about that!
              Tim T Scooter Software


              • #8
                Feature Request: 3-way-merge: 'Compare Center to Output'

                Please add command
                Session->'Compare Center to Output'.

                I daily use functionalities 'Compare Left|Right to Output'. I often need also 'Compare Center to Output'.

                Use case: While merging [in revision control system] I want to have quickly a clean view on differences between the merge base and my merge result (working copy).

                Thank's in advance.
                Last edited by AlexMannW; 09-Jul-2009, 02:32 AM.


                • #9
                  Thanks, Alex. I've added your request to our Customer Wishlist.

                  In the meantime, you should be able to copy the path of the center into a new Tab, then copy and Open Clipboard (not paste) into the other pane for an adhoc comparison.
                  Aaron P Scooter Software


                  • #10
                    I just updated to BC-3v3.1.6.10721 and tested the feature:

                    - Text Merge
                    - Added "Compare To Output > Left Side|Center Side|Right Side" commands.

                    Thank's for implementing my wish.

                    Would it be possible to improve it by following:
                    The title of the resulting compare sides (on the tab and in the drop down lists of the file name) should be derived from the titles of their origins.

                    I start the merge session with explicit given titles over the command line (/lefttitle, ....). These titles should be kept in the compares derived from the merge session.

                    Current behavior: Titles of derived compare: 'Merge left', 'Merge output', ...

                    Best regards to the beautiful Madison,


                    • #11
                      Thanks for the suggestion, Alex. I'll add it to our Customer Wishlist.
                      Aaron P Scooter Software