interactive full screen 2/3-way merge tool


The imediff command helps you to merge 2 slightly different files with an optional base file interactively using the in-place alternating display of the changed content on a single-pane full screen terminal user interface.

The source of line is clearly identified by the color of the line or the identifier character at the first column.

The advantage of this user interface is the minimal movement of the line of sight for the user.

The line matching logic of imediff has been improved to ignore whitespaces and use partial line matches to provide the best presentation with small chunk of lines.

The automatic 3 way merge logic of the imediff command operates not only on the difference by line but on the difference by character. This is another great feature of the imediff command. So for the non-overlapping changes, it always yields the clean merge.

The "git ime" command helps you to unsquash 2 consecutive commits (`HEAD^`, `HEAD`) of a git repository. The "git rebase -i <treeish>" and "gitk" can be used to organize unsquashed changes.

If any staged changes or local uncommitted changes are found in the git repository, "git ime" immediately exits without changes to be on the safe side.

If the latest commit involves multiple files, "git ime" splits this big commit by the file into multiple smaller commits involving a single file for each commit.

If the latest commit involves only a single file, the commit is split into multiple smaller commits involving a set of minimal partial changes by imediff to be managed interactively later.

This "git ime" is not only useful at the checked out branch head but also at "edit" prompt during the interactive execution of "git rebase -i <treeish>". Execute "git ime" after committing the pending commit.

Upload more screenshots

Please help extend the collection of screenshots. Just make a screenshot and upload it here. You don't need to register or anything.

Upload a screenshot

Hint: upload an image here from your clipboard with Ctrl-V


Install this software package

If the package is available for the distribution you are currently using on your computer then install the software by clicking on…

Install imediff