When you’re writing code collaboratively, there’s plenty of situations when you need to combine two sets of changes.
This could happen, for example, if Bob and yourself both fix different bugs by making edits to the same file.
This post assumes that your source code is tracked in git.
First up, install meld. The Meld homepage has instructions for other platforms, but on Debian/Ubuntu, it’s just:
sudo apt-get install meld
Now tell git to use it as a tool:
git config --global merge.tool meld
Once you have a merge conflict, you can then fire up Meld like this:
git mergetool
For each file, you will get a 3-way diff. Click the arrows on the sides to move the code you want into the middle:
Once you’ve saved the file and closed Meld, you will be prompted on the command-line. You just tell it whether you’ve successfully merged the file, until it stops giving you new files to merge.
After this, commit the changes:
git commit
Done!
Simpler usage
If you don’t use git, you can simply call Meld from the command-line as well. This shows you differences between files in a similar window, and lets you move blocks of code around as well:
meld foo.c bar.c