Download "External diff tools plugin for Bazaar":
http://doc.bazaar.canonical.com/plugins/en/difftools-plugin.html
Unpack and edit file "controller.py", append a line at the end of the file (to register DiffFork):
register_diff_tool(TreeDiffTool('difffork', diff_options='--wait'))Copy the module into the plugins directory:
cd bzr_difftools mkdir -p $HOME/.bazaar/plugins/difftools cp *.py $HOME/.bazaar/plugins/difftools
You are ready to go.
bzr diff --using difffork
Tips:
To ignore the '.bzr' files, try use DiffFork Exclude rules. More information can be found in Help.
Add an alias to $HOME/.bazaar/bazaar.conf to save typing (bzr dfdiff):
[ALIASES] dfdiff = diff --using difffork
First I want to thank you for trying and purchasing DiffFork. I appreciate your support and suggestions.
A couple of things you may want to know:
- There is an issue that DiffFork may display incomplete folder diff results. The fix will be available in the next release.
- Free upgrade period is extended to three years, and applied to all registered users.
- In the next release, the DiffFork command line will support OPTION "-w --wait": Wait for the diff window to be closed. This is a MUST for Version Control System Integration, opening the possibility to make DiffFork work with Git, Mercurial, SVN, etc.
- Starting from next release, each new update can extend expired trial for another 7 individual days.
DiffFork version 1.1, a milestone of basic text diff, released yesterday. Now version 1.2 will come with basic directory diff function.
Two of the new features I want to mention: Scrolling in Sync and Block Guide.
Scrolling in Sync
After releasing 1.0.5, I was asked if DiffFork has "Scroll lock" feature, the ability to "scroll both windows together simultaneously". This is the function which should have been implemented in the first place in version 1.0. Why until now?
Before 1.1, DiffFork neither uses "Placeholder" (or "Fake Lines", or "Holes") to keep the left and right versions of differences vertically aligned, nor supports side-by-side differences highlighting (like FileMerge). So when scrolling both windows together, it might be difficult to identify the differences in the counterpart text file. So "Scrolling in Sync" is only complete when it is working with Block Guide together.
Block Guide
I dislike to use "Placeholder" to keep the differences vertically aligned, "Unnatural" is the word to describe when you look at the documents with "Fake Lines" or "Holes". So, to help identify the differences in the counterpart text file when "scrolling in sync", I stick with "side-by-side differences highlighting", which I called Block Guide.
In DiffFork, "Block Guide" is the linking lines between the counterpart blocks.
Video: blockguide.mov

1.1.0 Release Note
Notice
Before 1.1.0, when a difference (a block or a line) is selected in file A, the corresponding difference in the counterpart text file (file B) is aligned vertically. This behavior is to help you identifier the differences in the counterpart text file.
Since 1.1.0, DiffFork supports "Block Guide" and "Scrolling in Sync", which makes auto-align no longer necessary. Now to align blocks, you need to press the Control key while you select the block. You can change the preferences to use other modifier keys.
New
- Added "Block Guide".
- Added "Scrolling in Sync".
- Shortcuts in Difference menu in now customizable.
- Added block context menu.
- Now you can change the text encoding var the popup button in status bar.
- Added "Save As..." in File menu.
- Added "Current Line Highlighting".
Changed
- Improved "Go to line...".
- Improved scrolling performance.
- "Block Folding" is now turned ON by default.
Fixed
- Several UI issues.
About
When I am trialling and buying a piece of software from an independent developer (company), I'd like to check out the "About" page, to get an idea of who are behind the curtain, to share their vision and experiences. Here the "About" page becomes an important part between "vendor" and "customer", building the initial trust. Now these days, blog and twitter are version 2.0 of the "About" pages, which added two new features: information and communication, not to mention the additional traffic it will bring. I believe that's one of the reasons why big guys put a blog on their website: it is such a powerful weapon in bag.
In May 2009, I became an independent developer.
With the coming date of releasing my first product DiffFork, I created a new blog category "About". The post, which you are now reading, is the first one in this category. Eventually, these posts represent my own "About" page.
Determination
Goal
- Do what I'd love to do.
- Stay with people that I'd love to work with.
The goal is idealistic, need compromise, very hard to reach, but worth the effort.
"Think big, start small". Dotfork.com is my very first small step.
Startup
Developing software for Mac OS X is what I am good at. The desire of making the next killer app is so strong that I must act. I am not a hacker, but I am picky when choosing which software to use. Now I have a chance to use software developed by myself, which otherwise I can never find in the market. I am not saying that apps in the same class are not good enough. I am saying the apps I make reflect my thoughts, which is unique. I hope my products will be able to offer people better (alternative) solutions to make life easier.
Besides suffering less from "the rising price of raw materials" and "exchange rate fluctuations", the major benefit of getting started from DotFork.com is: it cannot be smaller. Everything is now being managed by myself, and the cost is relatively low.
What's Next
When someday the income can support additional developers, I am willing and I will be happy to expand the staff list. With people who are smarter than me, with people who share the same goal, when we team up, it will be a big step towards the goal, for all of us.
More developers, more products, shorter development circle and more happy users. I am looking forward to it, and it worth the hard work.
DiffFork, into which I've been pouring love (work full time), was released about a week ago. The price of DiffFork is $26, but we are not going to charge until we are prepared. For such a young app (version 0.8.0), there are a lots of TODOs and TOFIXs.


