It's all about the answers!

Ask a question

Workaround: More than one simultaneous ‘compare session’ with BeyondCompare 4


1
1
Boaz Nahum (135) | asked Jun 30 '15, 5:26 a.m.
edited Jul 01 '15, 3:15 a.m.

Actually this is not a question but an answer – I just new to .jazz and I don’t know how to publish

(English is not my language …)

The problem:

For long, we have this issue: that when working with BC4 (Beyond Compare 4) we are not able to perform more than simultaneous compare.

For example, if we have two conflicts:

And we ‘Open In external …’  the first one – it works fine.

Now without closing BC4 we tried to open the second one, we got in BC4:

 --- Image with error goes here, But I can't upload :( don't have reputation --


BC4 complains that it can’t find the common and remote file.



Comments
Donald Nong commented Jul 01 '15, 1:31 a.m.

Great work. I suggest you do the following to complete your Q&A post.
1. Modify the original post and remove the part beginning with "explanation".
2. Make the part beginning with "explanation" into a new "answer". Yes, you answer your own question.
3. Accept the "answer".


Boaz Nahum commented Jul 01 '15, 3:20 a.m.

 @Donald Thank you for helping me improving it.

One answer



permanent link
Boaz Nahum (135) | answered Jul 01 '15, 3:14 a.m.
  

Explanation

This is not a bug in RTC Client, or in BC4

When eclipse start an external compare session:

1.       It prepare the ‘remote’ files as a local files on temp directory so external tool can access them.

2.       It spawn a process to start the external tool

3.       It wait for the process to exit

4.       It examines the output files created by external tool

5.     It deletes the temp files

When BC4 start:

1.       If it is there is no BC4 already running then the compare is performed it the newly started process

2.       If there is already BC4 process running, then it ‘passes’ the arguments to the already running process to process the compare and exits

So from Eclipse point of view, the second compare process ended immediately, so it delete the temporary files create by it, so BC4 can longer access them.

The solution:

We need some way to tell BC4 that in case the compare session is not performed by the launched process, the last one need to wait for the compare session to end.

In this way Eclipse won’t delete the files before we finish the compare session.

Looking at BC4 documentation:

BComp.com

This is a Win32 console program.  It has to have a console.  If you launch it from one (or a batch file) that console will wait for the comparison to complete before returning.  If you launch it from a version control system interactively, it will show a console window while it's waiting.

So all we need is to use BComp.com instead BComp.exe

(both for 2-way and 3-way)

But it is important to end the compare session correctly by closing the tab in BC4 

Your answer


Register or to post your answer.