I am trying to configure beyondcompare with mercurial to setup several workflows.
Currently I can do this:
- Launch
hg bcompareorhg bcompare --rev <something> - Make some changes to the file on the right
- Save in beyond compare
- Close beyond compare
- Refresh my editor/IDE
- Make changes in editor/IDE
- Relaunch beyond compare
What I would like to do is this:
- Launch
hg bcompareorhg bcompare --rev <something> - Make some changes to the file on the right
- Save in beyond compare
- Refresh my editor/IDE
- Make changes in editor/IDE
- Refresh beyond compare
At the momement this workflow isn't working but I can't seem to figure out if it is beyond compare or mercurial that is messing things up. I can see that the file that is in the right-hand pane in beyond compare is in this directory: /tmp/extdiff.MIGT6x/dir.
Where is this directory coming from? Is there a way that I get beyondcompare to do a full diff between revisions (I know this will be slower)?
Alternatly, is there a way I can get beyond-compare's save to write the file to the real location and get beyond-compare's refresh to work properly?
I setup beyond-compare as described on the Beyond Compare site:
[extensions]
hgext.extdiff =
[extdiff]
cmd.bcompare =
[merge-tools]
bcomp.executable = /usr/bin/bcompare
bcomp.args = $local $other $base $output
bcomp.priority = 1
bcomp.premerge = True
bcomp.gui = True

The 'extdiff' extension (which is what I expect you're using to be able to show your changes in bcompare), uses 'hg status' to check what files are different between 2 revisions (or between the current working directory and a revision).
It then copies all the files that are different to two temporary directories and calls bcompare (or any other difftool) to compare those two directories.
Benefits to this approach:
The downside of course is that editing inside the difftool will not show an effect in your repository. In other words: it's not possible to do this the way you want.